Win32项目与win32控制台(console)应用程序、空项目区别即相互之间的转换
http://blog.csdn.net/erdong1114/article/details/48245029
1、Win32项目包括:Win32 应用程序、控制台应用程序、DLL 或其他静态库的项目;项目一般采用了可视化开发 开发出来的东西就像QQ之类的 是有窗口界面。Win32是写标准Windows程序的环境(相当于MFC、ATL、.NET而言)。
2、控制台应用程序是写CUI程序的,也就是该程序运行时系统会自动调用system32下的某个exe给它创建一个字符界面的窗口(一般是黑底灰白字)。通常被设计为没有图形用户界面即DOS界面,并编译成独立的可执行文件。控制台应用程序通常从命令行运行,同时在命令提示和运行的应用程序之间交换输入和输出信息。
3、非空项目的话,VS会自动从模板中给你创建一个应用程序框架;而空项目不会,用来自己搭建应用程序框架。
1、Win32项目包括:Win32 应用程序、控制台应用程序、DLL 或其他静态库的项目;项目一般采用了可视化开发 开发出来的东西就像QQ之类的 是有窗口界面。Win32是写标准Windows程序的环境(相当于MFC、ATL、.NET而言)。
2、控制台应用程序是写CUI程序的,也就是该程序运行时系统会自动调用system32下的某个exe给它创建一个字符界面的窗口(一般是黑底灰白字)。通常被设计为没有图形用户界面即DOS界面,并编译成独立的可执行文件。控制台应用程序通常从命令行运行,同时在命令提示和运行的应用程序之间交换输入和输出信息。
3、非空项目的话,VS会自动从模板中给你创建一个应用程序框架;而空项目不会,用来自己搭建应用程序框架。
转换:
似乎在Win32项目中,只能使用WinMain函数,而Win32控制台程序中只能使用main函数.
似乎两个项目连接的crt0.obj有些不同.
如何在VC中修改项目的属性?
它们主要的区别是定义的宏不同,一个是WIN32,另一个是CONSOLE.
在预处理中把_WINDOWS换成_CONSOLE就行了
project settings -> Link :将/SUBSYSTEM:WINDOWS开关改为/SUBSYSTEM:CONSOLE
可将 Win32控制台程序 当成 在Win32项目 使用,反之亦然。
把/subsystem:windows或/subsystem:console删除,由编译器自己决定也可以
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。