0

LoadLibrary()我读过从 DllMain [source]调用是不安全的。

但是从控制台应用程序的入口点调用是否安全main()?我似乎找不到任何关于此的信息。

谢谢!

4

2 回答 2

2

是的,它是安全的。如果你不能LoadLibrarymain你不能从控制台进程中的任何地方调用它,那将是愚蠢的。

DllMain之所以特殊,是因为在调用期间持有“加载器锁”,并且在进程完全初始化之前调用它(对于静态链接的 DLL)。

于 2012-04-16T15:24:53.823 回答
1

从您自己的链接:

入口点函数应该只执行简单的初始化或终止任务。它不能调用 LoadLibrary 或 LoadLibraryEx 函数(或调用这些函数的函数),因为这可能会在 DLL 加载顺序中创建依赖循环

由于控制台应用程序不是 DLL 加载链的一部分,因此它是安全的

于 2012-04-16T15:34:56.117 回答