在vcproj文件里有宏定义, 控制台程序有_CONSOLE宏定义,而windows程序有_WINDOWS定义:
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
所以一开始如果项目类型选择错误,可以直接改配置文件。
当然这个是编译阶段的事情,还有链接阶段,就是子系统相关配置。WINDOWS程序的子系统是WINDOWS,而控制台是,CONSOLE,这个也是需要修改的一点。
所以说,可以随时修改类型,甚至GUI的程序也可以配置成控制台程序方便用printf来帮助调试。