0

这更多是概念性问题,可能相当基本,我并没有真正找到了解 dll 的好资源,

我需要创建 dll(加载时动态链接),它需要 function1 在加载 dll 时开始并一直在后台运行,

而function2需要导出,它将被应用程序调用多次,

function1 提供了需要在 function2 中使用的对象,

我打算在导出函数2时使用函数1作为入口函数(dllmain)。

作为系统调用的 dllmain 函数,而应用程序调用的导出函数,它们是作为两个线程运行还是作为两个单独的进程运行?

如上所述使用 dllmain 和 export 来完成我的需要是否正确?

4

1 回答 1

0

Jeffrey Richter 的“Advanced Windows”是了解 DLL 的好地方。

在你的情况下,这样的事情就可以完成。

BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
{
   if (fdwReason == DLL_PROCESS_ATTACH)
   {
       //start thread with function1()
       begin_thread_ex(..., &function1, ....)
   }
}

__declspec(dllexport) function2()
{
    ....
}
于 2012-04-07T21:16:02.017 回答