我对C++还比较陌生,但之前做过一些.NET编程。
main(...)
和WinMain(...)
有什么区别?我之前用main(...)
写了一个程序,并且可以像使用WinMain(...)
一样成功调用Win32函数。这让我想知道:“在哪种情况下更适合使用其中的一个,或者它们有没有区别?”
WinMain
开头,而main
用于控制台应用程序。main
(或wmain
或_tmain
,取决于Unicode设置),对于GUI应用程序,它们使用WinMain
,并对于dll使用DllMain
。WinMain
;
- 对于控制台应用程序,请使用main
;
- 对于dll,请使用DllMain
。再次提醒,这并不是一成不变的规定(而且有方法可以从标准的main
函数启动GUI应用程序),但是“入乡随俗”——即通常最好遵循平台的用法,以避免混淆其他开发者,并经历未经测试/不受支持的编译器设置来更改入口点的签名。
_start
。 - Cole TobinmainCRTStartup
。 - Cole Tobin
WinMain()
用于 GUI 应用程序,main()
用于控制台应用程序。 - Jonathan Potter