|
|
1
3
根据 this MSDN post :
如果这是正确的,那么您应该能够在所讨论的线程中完成您的工作,直到dllmain完成后,该线程才会启动。当然,这会留下一些可能的同步问题,如果使用互斥体,也许可以解决这个问题。 注:我没有试过,只是理论上看起来可能有效。 P.S.如果你尝试过,请留下一个关于它是否有效的评论。 |
|
|
2
2
从我的观点来看,这一直是一个棘手的问题。如果您无法控制的第三方应用程序正在使用DLL,则很难强制其他应用程序调用某些初始化函数。最终,这可能是一个要求,但最好不要使用dll(例如初始化winsock)。 如果无法进行初始化调用,则可能需要依赖于按需进行的延迟初始化。我偶然发现一份相当不错的文件 DLL Best Practices 这也许值得一读。它有一个很好的列表,列出了在dllmain中可以做和不能做的具体事情。根据经验,我知道需要遵守这些规定(即“禁止”清单)。 |
|
|
3
0
最简单的方法可能是将所有代码放入另一个函数中,在库加载后调用该函数。 你也可以创建一个线程来完成这个工作,但我不确定你到底想做什么。 |
|
|
Guilherme Albertini · DLL中的类 8 年前 |
|
|
Naomi · C#dll资源文件更改语言 8 年前 |
|
|
AidanH · C#DLL语言翻译实现[关闭] 8 年前 |
|
|
subham · DLL函数调用不工作 8 年前 |
|
|
PixelThis · 为什么我的DLL要求我的程序有一个特定的名称? 8 年前 |
|
|
nemo · DLL的“好”调用约定是什么? 8 年前 |