none
本地程序和CLR程序有个地方不懂 RRS feed

  • 问题

  • 本地程序和CLR程序有个地方不懂! 我学习VC++2008的时候书上有本地C++和CLR C++一起讲的! 但是我不明白他们的区别到底是不是在创建的时候决定的? 就是可以创建Win32控制台应用程序 和 CLR控制台程序 如果我要写本地C++是不是就是说生成的程序就不会在CLR上运行? 至于代码 这两个控制台程序都能用! 我还有个疑问! 为什么说是本地程序? 如果不安装.net FrameWork 不管你是不是本地 都不能运行啊~~ 这是为什么? 人家有的程序根本不用装什么库都能运行?
    一个出息的程序员-》疯狂的程序员
    2009年6月9日 3:30

答案

  • 1.CLR和本地程序的区别:
    CLR是通用语言运行时,是.net框架的一部分,可以理解为程序设计语言与计算机底层之间的一个抽象的平台,它能将C++/CLI,VB,C#等支持.NET的语言编译为统一的IL汇编代码,然后再链接成可执行文件。通过CLR这样一转换,各种语言都殊途同归。这样,应用程序就可以在所有装了.net的机器上运行。而本地程序是指不通过CLR编译,编译后的代码也不是IL语言。在创建的时候,你可以自己选择创建哪一种程序,是CLR程序还是本地程序,然后VC++会根据你的选择自动设定编译器连接器开关的。当然,你也可以通过自己设置链接器开关来指定。不过,C++/CLI的语法和C++有很多不同,但也不是完全不同。有许多程序,既可以编译成CLR程序,也可以编译为本地程序,都能正常通过。
    2 .如果不安装.net 的话,所有的CLR程序都无法运行;本地程序跟.net没有关系,能不能运行看它自己所需要的条件是否具备了。

    2009年6月9日 7:02