
WIN32 程序和MFC 程序生成的都是Windows应用程序。不同的是,Win32程序使用Windows SDK框架生成应用程序框架,默认该框架程序不使用MFC(微软基础类),生成的都是面向过程的程序框架,程序的入口时WinMain,使用这个框架需要对Windows SDK程序比较熟悉;MFC程序,可以选择单文档、多文档和对话框的应用程序框架,该框架支持MFC,生成的程序框架,都是C++面向对象的应用程序,程序的入口是CXXXApp。
Win32 Application 和 Win32 Console Application 之间的区别
1、程序不同
Win32 Application 是标准windows程序,完全拥有windows的特性,可以通过鼠标点击窗口来完成控制。
Win32 Console Application是控制台应用程序,类似于MS-DOS窗口,只能运行命令行程序,不具备消息响应机制。
2、入口函数不同
Win32 Application 入口函数是WinMain(),它具有消息响应机制,可以运行图形化的C++程序。
Win32 Console Application入口函数是main(),可以访问部分windows API函数,如果你编写传统的C程序,必须建立Win32 Console程序。
扩展资料:
Win32 Application和Win32 Console Application 都是工作在32位Windows环境的程序。
它通过GUI(Graphics User Interface图形用户接口)可以把窗口界面做得比较个性化,比如圆形的、不规则形状的等等,另外,我们还可以通过鼠标点击来完成控制。所以说它是基于WINDOWS平台的32位开发环境开发应用程序(即,SDK程序)。入口函数为WinMain()。
Win32 Console Application(win32控制台应用程序)往往是像MS-DOS窗口(XP中叫命令提示符)的样子出现,我们得用键盘输入各种命令来使用它,它与纯dos程序区别是:
它是32位的;或者叫CUI(Character User Interface字符用户接口)。console程序以main()为入口,可以访问部分windows API函数,比如创建窗口、对话框等等。
参考资料来源:百度百科-win32 console application
参考资料来源:百度百科-win32
控制台字符界面,只要是字符来进通信。WIN32 只要是用来开发主流windows程序的。
一步一步来看:
首先从函数接口:
int main(int argc, char argv[])
单单的一个入口点,两个参数就是,命令行参数。一个数组和一个整形。说实话让我来说我也说不出来这个 int main有什么可讲的。
重点讲一讲这个WINMAIN
int WINAPI WinMain
(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
在你创建WIN32程序的时候,入口点是这个:
所以,系统在加载你的程序进入内存的时候cs:ip在完成程序初始化之后就会指向这个WINMAIN 首地址。我看来看参数: hInstance是windows 为每一个WIN32程序分配的实例化句柄(用来管理程序的一个标识符)
hPrevInstance前一个执行实体的执行实体句柄
lpCmdLine 同样,命令行
nCmdShow 状态。
-----------------------
简而言之,一般的C编译器默认都会用MAIN 来作为程序入口,这个规范。
但是windows为了方便程序的内存管理或者是图形界面的管理。重新自定义了一个入口函数,当然编译器肯定要重新编写了,因为这个一个新的规范。参数即是为了管理程序的。
基本上每一个windows程序都会有一个WINMAIN 。
以前写过MRP的手机程序。
int tmain(int x,int y,int flags)
显而易见,这个触屏的坐标个触发的事件。 我相信你已经懂了。
如果你想研究WIN32参数具体作用,那么推荐一本 <windows高级编程>
以上就是关于MFC与win32控制台编写的程序有什么区别 求指教全部的内容,包括:MFC与win32控制台编写的程序有什么区别 求指教、Win32 Application和Win32 Console Application区别、C语言在创建文件项目时,有C语言WIN32控制台应用程序 和 WEN32项目. 请答诉两项参数区别.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)