回答1:

1、win32应用程序是指窗口类的,像QQ之类的,有图形化界面,而控制台是指运行在黑框下的,像cmd之类的;
2、win32控制台项目指在32位Windows命令提示符(即所谓的dos)环境下运行的应用程序...
      win32项目指运行于32位Windows操作系统中的应用程序...包括win32控制台项目...

3、最大的区别当然是程序入口了,console的入口是main,Windows的入口时WinMain。而程序的入口点是可以重新设置的。我们可以在console应用程序中设置其入口点为WinMain,反之亦然。

回答2:

1、  区别

(1)Win32控制台程序,没有界面,只有命令符。生成的“.exe”文件直接运行操作即可。

(2)Win32项目,有界面。但是界面里面的控件,基本上要自己去实现。

(3)MFC应用程序,也有界面,饭界面里的控件不需要自己去实现了,常用的控件都已经在MFC库内写好,直接拖动即可。

(4)控制台与Win32MFC的交互方式不同,前者采用的是CML(命令模式),后者是GUI(用户界面)

(5)Win32项目的界面比较符合UI界面设计;而MFC应用程序的界面基本都是一样的,因为它们都是用同一套控件模板。

(6)Win32控制台程序:初始代码模版以main为程序入口,默认情况下,只链接C++运行时库和一些核心的win32库,链接器subsystem参数为console类型,所以编译出来的程序会有黑色的控制台窗口作为呈现标准输入(stdin)和标准输出(stdout)。

Win32项目:初始代码模版实现一个简单的windows窗口,以WinMain作为程序入口,引用了win32Api头文件和库,链接器subsystem参数为windows,所以生成的程序不带黑色的控制台,直接使用标准输入和标准输出,看不到效果。

MFC应用程序:本质上是个win32工程,只是默认帮你引用了mfc框架的头文件和库,并且程序入口由mfc框架提供,不需要自己写。

2、  如何选择?

采用控制台还是win32 MFC,取决于是否需要与用户进行交互,以及交互的频率高低。有些软件需要实时查看编辑结果,所以需要窗口;有的程序,比如木马程序,为避免暴露自己不采用窗口。

(1)需要与用户进行大量交互或者要满足“所见即所得”,采取wn32 mfc;无需交互或者交互极少,采用控制台。

(2)只强调实用与开发效率,用MFC;强调用户体验与软件细节,使用WIN32。MFC可以实现的,WIN32都可以实现。反之不可。

3、  联系?

windows提供win32 api以供程序员完成各种操作,所以控制台,win32,mfc都可直接调用win32 api。但直接使用win32 api,用代码完成诸如创建窗口,显示窗口等操作太过繁杂,于是我们把这些代码结合抽取取来,变成OOP中的类,也就是微软基础类库(MFC)

4、  (1)Win32控制台程序:初始代码模版以main为程序入口,默认情况下,只链接C++运行时库和一些核心的win32库,链接器subsystem参数为console类型,所以编译出来的程序会有黑色的控制台窗口作为呈现标准输入(stdin)和标准输出(stdout)。

(2)Win32项目:初始代码模版实现一个简单的windows窗口,以WinMain作为程序入口,引用了win32Api头文件和库,链接器subsystem参数为windows,所以生成的程序不带黑色的控制台,直接使用标准输入和标准输出,看不到效果。

(3)MFC应用程序:本质上是个win32工程,只是默认帮你引用了mfc框架的头文件和库,并且程序入口由mfc框架提供,不需要自己写。

回答3:

1.Win32控制台

初始代码模版以main为程序入口,默认情况下,只链接C++运行时库和一些核心的win32库,链接器subsystem参数为console类型,所以编译出来的程序会有黑色的控制台窗口作为呈现标准输入(stdin)和标准输出(stdout)。

2.Win32项目

初始代码模版实现一个简单的windows窗口,以WinMain作为程序入口,引用了win32Api头文件和库,链接器subsystem参数为windows,编译出来会有一个简单的窗口。

3.MFC项目

本质上是个win32工程,只是默认帮你引用了mfc框架的头文件和库,并且程序入口由mfc框架提供,不需要自己写。

4. 如何选择

windows提供win32 api以供程序员完成各种操作,所以控制台,win32,mfc都可直接调用win32 api。

但直接使用win32 api,用代码完成诸如创建窗口,显示窗口等操作太过繁杂,于是我们把这些代码结合抽取取来,变成OOP中的类,也就是微软基础类库(MFC)。

采用控制台还是win32 MFC,取决于是否需要同用户进行交互,以及交互的频率是高还是低。字处理软件需要实时查看编辑成果,所以采用了窗口;而一个木马程序,采用了窗口就会暴露自己,所以采用控制台。

需要与用户进行大量交互或者要满足“所见即所得”,采取wn32 mfc;无需交互或者交互极少,采用控制台。

只强调实用与开发效率,用MFC;强调用户体验与软件细节,使用WIN32。MFC可以实现的,WIN32都可以实现。反之不可。

5.CLR控制台

CLR控制台指的是使用C++语言开发基于.NET FRAMEWORK的控制台程序。

也就是说,C++可以直接调用.NET的功能强大的类库,处理更多的事情,实现更多的功能,可以精简几乎50%以上的代码。

WIN32控制台程序,是指用C++语言开发基于控制台的程序,也就是类似于CMD程序。

WIN32窗体应用程序,是指用C++语言开发基于SDK的窗体程序,你看到的QQ,就是一个窗体程序。

1 ATL项目,使用活动模板库的项目。用来做COM开发。
2 CLR项目,与ATL类似。不过CLR是一个体系。用这个创建出来的工程,在所有支持CLR的编译器内均可以无障碍移植。
3 MFC项目,可以使用MFC的类库。MFC是微软提供的用来windows开发的一个工具包。
4 Win32项目,windows开发项目。可以使用windows相关API。与MFC不同的是,这里都是直接使用windowsAPI。
5 除此以外,最常用的是命令行项目,即console。初学者使用这一个就足够了。

win32项目和win32控制台程序的区别相关推荐

  1. Win32控制台应用程序,Win32项目,MFC应用程序的区别与联系

    Win32控制台应用程序,Win32项目,MFC应用程序的区别与联系 Win32控制台程序 初始化代码模板以Main为程序入口,默认情况下,只链接C++运行时库和一些核心的Win32库,链接器subs ...

  2. Hey,别搞错了Win32项目和Win32控制台程序

    你是否和我一样呢,写了很多控制台程序,特别熟悉cout.main函数等等. 但是你同样也听说过win32 api !!当在你的控制台应用程序中写下某个api函数的时候,你也许会窃喜api函数带来的方便 ...

  3. VS中项目属性win32 application和win32 console application的切换

    菜单中选择项目->属性弹出属性配置窗口 1.C++->预处理器: 预处理器定义: WIN32项目为WIN32;_DEBUG;_CONSOLE: 控制台项目为WIN32;_DEBUG;__W ...

  4. VC++控制台程序中使用定时器

    我现在项目是一个控制台程序,用到的Win32API都是与界面无关的,今天需要加入定时器刷新的功能,由于没有消息循环,所以WM_TIMER消息应该如何处理呢?综合了下网上找到的资料,写了个简单的demo ...

  5. Visual Stutio中win32控制台应用程序、win32项目、MFC项目的区别:

    我的理解,我首先把这几个货分为两大类:第一类包括win32控制台应用程序,第二类就是剩下那俩货.而剩下那俩货又有一个包含关系,即win32项目包含mfc.(我个人是这个区分的.) 一. 区别: (1) ...

  6. Win32控制台程序界面类

    Win32控制台程序界面类 我相信不少同学也和我一样,在刚学习c++的时候都会尝试做简单的图书管理系统,学生成绩管理系统等,做这些实验项目可以加深你对文件操作,vector,list等容器的熟悉度,还 ...

  7. 关于解决Win32控制台程序编译后自动退出

    问题描述:Win32控制台程序编译运行后自动退出,看不到结果,解决此问题有如下几种方法: 使用CTRL+F5进行编译: 使用getchar()函数,放在程序的最后: 使用system("pa ...

  8. VC的Win32控制台程序中使用MFC库文件

    如果想要在VC中的Win32控制台程序中使用CString类,应注意下列情况: 1.必须包含头文件#include <afx.h> 2.Project ----settings... -- ...

  9. 关于如何用od反汇编win32 控制台程序

    *********************************************************** 如何用od反汇编win32 控制台程序(类似dos程序)呢? ********* ...

最新文章

  1. 手把手教线性回归分析(附R语言实例)
  2. 区块链软件公司:区块链运用在金融上运用的优点有哪些?
  3. ExecutorService对象的shutdown()和shutdownNow()的区别
  4. 独家下载!Java工程师成神必备宝典
  5. 【华科考研机试题】阶乘
  6. 十个习惯让你精通新的开发技术
  7. angularjs 表单校验指令_angular4.0的模板式表单、响应式表单及其错误提示
  8. mysql使用二进制日志恢复数据
  9. Java中方法和数组
  10. centos查看文件修改历史_Linux环境下查看历史操作命令及清除方法
  11. 中兴6908的三层交换
  12. python牛顿法寻找极值_牛顿法求极值及其Python实现
  13. three.js 05-04 之 BoxGeometry 几何体
  14. Elasticsearch分布式搜索引擎-安装到实战
  15. 安装华为运动健康beta版本安装失败
  16. lenovo服务器换系统重装系统_联想电脑怎么重装系统|联想电脑重装系统步骤
  17. Matlab中的ismember和contains傻傻分不清
  18. 零基础可以学计算机编程吗,计算机编程好学吗,零基础小白可以吗,入门应该先学什么?...
  19. 自适应蝴蝶算法附matlab代码IBOA
  20. Oracle 10g 在win10下的安装

热门文章

  1. linux安装ftp步骤
  2. 荣耀电视鸿蒙系统安卓,荣耀智慧屏发布,使用鸿蒙OS系统,兼容安卓手机
  3. Android 6.0 动态权限实战(一)------ Nexus7二代(WIFI版)4.4升级6.0-附带纯净刷机ROM福利!
  4. 尾部相性尾部风险平价和圣杯布
  5. 百度前端技术学院-斌斌学院-任务五
  6. 一道笔试题:从1亿个整数中找出最大的一万个
  7. 能力不足,眼力辅助——山寨CSDN发帖表情插件
  8. Mybatis实现Oracle 分页
  9. 科海思吸附铜树脂的简介
  10. 云计算机房建设方案,服务器机房建设方案