有人能解释一下这两个声明在visual studio 2008的链接器属性中的区别吗(请尽可能简单,我是C++世界的新手)谢谢
编辑:如果可能的话,你能给我两个小程序来显示效果吗?
发布于 2011-09-06 15:42:08
/SUBSYSTEM:CONSOLE)
用于基于控制台的应用程序。您应该在代码中定义main
函数。
/SUBSYSTEM:WINDOWS)
是用于图形用户界面应用程序的。您应该定义WinMain
函数。
发布于 2011-09-06 15:39:15
控制台:显示控制台窗口。WINDOWS -程序在没有控制台窗口的情况下启动。
编辑,寻找另一个答案。注意,/SUBSYSTEM标志不会影响程序入口点。程序入口点由/ENTRY链接器选项定义。通常/SUBSYSTEM:CONSOLE有“主”入口点,而/SUBSYSTEM:WINDOWS有"WinMain“入口点。但是,例如可以创建具有WinMain入口点和控制台窗口图形用户界面应用程序。
发布于 2012-07-25 00:20:10
参见here。VS2008为你自动化了一些导致混乱的事情。
CONSOLE Win32字符模式应用程序。操作系统为控制台应用程序提供了一个控制台。如果为本机代码定义了main或wmain,为托管代码定义了int main(ARRAY^),或者完全使用/clr:safe构建应用程序,则CONSOLE是默认值。
windows 应用程序不需要控制台,可能是因为它创建了自己的用于与用户交互的窗口。如果为本机代码定义了WinMain或wWinMain,或者为托管代码定义了WinMain(HISTANCE *,HINSTANCE *,char *,int)或wWinMain(HINSTANCE *,HINSTANCE *,wchar_t *,int),则WINDOWS是默认值。
https://stackoverflow.com/questions/7316433
复制相似问题