LoadLibrary()
我读过从 DllMain [source]调用是不安全的。
但是从控制台应用程序的入口点调用是否安全main()
?我似乎找不到任何关于此的信息。
谢谢!
是的,它是安全的。如果你不能LoadLibrary
从main
你不能从控制台进程中的任何地方调用它,那将是愚蠢的。
DllMain
之所以特殊,是因为在调用期间持有“加载器锁”,并且在进程完全初始化之前调用它(对于静态链接的 DLL)。
从您自己的链接:
入口点函数应该只执行简单的初始化或终止任务。它不能调用 LoadLibrary 或 LoadLibraryEx 函数(或调用这些函数的函数),因为这可能会在 DLL 加载顺序中创建依赖循环。
由于控制台应用程序不是 DLL 加载链的一部分,因此它是安全的