
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能够看到的反汇编代码
评论列表(0条)