-
Win32平台
Win32不是32位的Windows操作系统,WinRT也不是Windows RT操作系统。Win32和WinRT是指Windows操作系统的底层API(应用编程接口),在Windows系统上运行的应用程序(各种软件)通过这些系统级接口与硬件(例如显示器、键鼠等)交互。Win32在Windows 7及以前的系统(包括Windows XP)中被广泛运用。WinRT是微软公司在Windows 8中引入的一组新的应用编程接口,允许开发者使用更加现代化的语言特性高效开发具有现代风格的应用程序。在Windows 8及以后的操作系统(包括Windows 10)中都包含有Win32和WinRT两套API。
-
.net平台
.NET是.NET Framework的简称。.NET Framework是一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#、F#、VB.NET、C++、Python等)的开发。
-
两者之间的关系
.NET和Win32的关系并非并列,不严格的说可以认为.NET是运行在Win32之上。那都有了Win32为什么还要有.NET?前面说了这是一个编程平台。原始的Win32接口调用非常麻烦,支持的编程语言也有限,而.NET可以看成对Win32的封装,牺牲少量的运行效率换取更好的程序容错性、更好的开发效率。并且现在还有了.NET Core,可以让代码不依赖.NET Framework,这样程序在运行的时候就不需要目标机器必须安装有.NET Framework了。
非托管代码主要是基于win 32平台开发的DLL,activeX的组件,托管代码是基于.net平台开发的。