C++在C#的运行环境中怎么运行啊 ?
2个回答
展开全部
C++与C#都运行在CLR(Common
Language
Runtime)下,它们可以共用一个运行时环境,此时的C++为
托管代码
(managed)。C#的运行环境其实就是CLR。
在CLR中运行C++,只要保证它是一个C++项目就可以与C#一样的运行,同样生成
中间代码
(MSIL),几乎没有什么区别。
CLR(公共语言运行时,Common
Language
Runtime)和
Java虚拟机
一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。
为了提高平台的可靠性,以及为了达到面向事务的电子商务应用所要求的稳定性级别,CLR还要负责其他一些任务,比如监视程序的运行。按照.NET的说法,在CLR监视之下运行的程序属于“受管理的”(managed)代码,而不在CLR之下、直接在
裸机
上运行的应用或者组件属于“非受管理的”(unmanaged)的代码。
CLR将监视形形色色的常见编程错误,许多年来这些错误一直是软件故障的主要根源,其中包括:访问
数组元素
越界,访问未分配的内存空间,由于数据体积过大而导致的
内存溢出
,等等。
Language
Runtime)下,它们可以共用一个运行时环境,此时的C++为
托管代码
(managed)。C#的运行环境其实就是CLR。
在CLR中运行C++,只要保证它是一个C++项目就可以与C#一样的运行,同样生成
中间代码
(MSIL),几乎没有什么区别。
CLR(公共语言运行时,Common
Language
Runtime)和
Java虚拟机
一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。
为了提高平台的可靠性,以及为了达到面向事务的电子商务应用所要求的稳定性级别,CLR还要负责其他一些任务,比如监视程序的运行。按照.NET的说法,在CLR监视之下运行的程序属于“受管理的”(managed)代码,而不在CLR之下、直接在
裸机
上运行的应用或者组件属于“非受管理的”(unmanaged)的代码。
CLR将监视形形色色的常见编程错误,许多年来这些错误一直是软件故障的主要根源,其中包括:访问
数组元素
越界,访问未分配的内存空间,由于数据体积过大而导致的
内存溢出
,等等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询