win32程序和控制台程序编程有什么区别?

win32程序和控制台程序编程有什么区别?,第1张

win32应用程序是指可以在32位或以上Windows系统中运行的程序,概念比windows窗体大,严格说来,窗体程序也是win32应用程序。你问的是vs环境中不同的程序类型的区别吧。win32程序是利用编程语言直接调用windows api编写的程序,可以在任何装有正确windows的机器上运行,程序员发挥的空间也最大,能实现在该 *** 作系统中可以编程实现的任何功能。 \x0d\x0a而.net的窗体应用程序是一种托管代码,无论你是用c++\c#还是vb编写,只能在.net环境中应用,就是说你编译好的软件在没有.net framework的机器上是不能运行的,而且功能的实现也要受framework的限制,不能随心所欲。\x0d\x0a可视化的除了窗体程序,你也可以选择mfc,代码编写量比纯api编程要小的多,尽管比.net复杂,但应用起来更灵活,而且这个是不依赖.net框架的。\x0d\x0awin32包括mfc可以调用 *** 作系统允许的任何程序(甚至可以通过某种技术调用 *** 作系统不允许的 *** 作如hook api技术),当然可以调用窗体程序。

WIN32

是本机程序

一般是调用WINDOWS

API

CLR就是.NET平台,相当于一个虚拟机,官方称为托管代码,挺像JAVA的

MFC

是封装了WINDOWS

API

的C++类,开发效率要高些

进入.Net之后,VC可以用来开发本地的win32程序,还有托管的.Net程序

其中win32程序,比如mfc程序,使用传统C++语言,是直接编译为机器指令的,最多反汇编到汇编代码

但是.net程序,使用微软为.net平台扩展的C++/CLI语言(.net 1.1时代有一种托管C++语言,是微软的早期作品,因为稳定性欠佳,已被C++/CLI取代),编译之后的是.net平台的IL语言,因为IL汇编语言较传统汇编指令远为“高级”,通过简单的反汇编器就可以得到几乎一摸一样的源代码,楼主实际看到的是这种.net程序,这才是通过Reflector能够看到的反汇编代码


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11229916.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存