这三个函数之间有什么区别以及何时使用它们?
main()表示您的程序是控制台应用程序.
WinMain()表示程序是一个GUI应用程序 - 也就是说,它显示窗口和对话框而不是显示控制台.
DllMain()表示程序是DLL.DLL不能直接运行,但由上述两种应用程序使用.
因此:
在编写要显示窗口等的程序时使用WinMain.
编写DLL时使用DLLMain.
在所有其他情况下使用main.
WinMain用于应用程序(结束.exe)以指示进程正在启动.它将为进程提供命令行参数,并充当进程的用户代码入口点.WinMain(或不同版本的main)也是必需的功能.操作系统需要调用函数才能启动进程运行.
DllMain用于DLL表示许多不同的场景.最值得注意的是,它何时会被调用
DLL被加载到进程中:DLL_PROCESS_ATTACH
DLL从进程中卸载:DLL_PROCESS_DETACH
在该过程中启动一个线程:DLL_THREAD_ATTACH
线程在进程中结束:DLL_THREAD_DETACH
DllMain是一个可选的构造,并且有很多与之相关的隐式契约.例如,您不应该调用将强制加载另一个DLL的代码.一般来说,正确的功能是相当困难的,应该避免,除非你有一个非常具体的需要.