从main()调用LoadLibrary是否安全?

时间:2012-04-16 15:18:01

标签: windows dll native

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

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

谢谢!

2 个答案:

答案 0 :(得分:2)

是的,这是安全的。如果您无法从LoadLibrary拨打main,则无法在控制台进程中的任何位置调用它,这将是愚蠢的。

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

答案 1 :(得分:1)

从您自己的链接:

  

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

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