net core是托管代码吗
答案:1 悬赏:80 手机版
解决时间 2021-03-18 13:55
- 提问者网友:玫瑰园
- 2021-03-18 01:00
net core是托管代码吗
最佳答案
- 五星知识达人网友:不想翻身的咸鱼
- 2021-03-18 01:39
什么是托管代码
托管代码是在.NET Framework中常见的术语,究竟什么是托管代码呢?
简而言之,托管代码就是运行过程交由运行时(runtime)管理的代码。
而Runtime是Common Language Runtime (CLR、公共语言运行时),目前CLR有三个实现版本(.NET Framework、.NET Core、Mono),其中.NET Core Framework是参考.NET Framework重新开发的.NET实现,Mono是.NET Framework的一个开源的、跨平台的实现,可以参考.NET Core与.NET Framework、Mono的关系了解几个实现的关系。
CLR负责把托管代码的编译为目标平台的机器码并执行。除此之外,CLR提供内存自动管理、安全边界、类型安全等等重要的服务。
相反,如果运行C/C++代码,也就是我们所说的非托管代码,程序员需要负责差不多所有的事情,从内存管理到安全层面的考虑等,对于程序员来说是一个不小的负担。
托管代码可用任意一种.NET平台支持的高级语言编写,例如C#、VB.NET、F#等。托管代码不会直接编译为机器码,而是编译成Intermediate Language中间语言,CLR再编译中间语言为机器码来执行。需要提的一点是,C++是个例外,因为C++也可以直接编译为非托管的的二进制执行包直接在Windows上运行。
托管代码是在.NET Framework中常见的术语,究竟什么是托管代码呢?
简而言之,托管代码就是运行过程交由运行时(runtime)管理的代码。
而Runtime是Common Language Runtime (CLR、公共语言运行时),目前CLR有三个实现版本(.NET Framework、.NET Core、Mono),其中.NET Core Framework是参考.NET Framework重新开发的.NET实现,Mono是.NET Framework的一个开源的、跨平台的实现,可以参考.NET Core与.NET Framework、Mono的关系了解几个实现的关系。
CLR负责把托管代码的编译为目标平台的机器码并执行。除此之外,CLR提供内存自动管理、安全边界、类型安全等等重要的服务。
相反,如果运行C/C++代码,也就是我们所说的非托管代码,程序员需要负责差不多所有的事情,从内存管理到安全层面的考虑等,对于程序员来说是一个不小的负担。
托管代码可用任意一种.NET平台支持的高级语言编写,例如C#、VB.NET、F#等。托管代码不会直接编译为机器码,而是编译成Intermediate Language中间语言,CLR再编译中间语言为机器码来执行。需要提的一点是,C++是个例外,因为C++也可以直接编译为非托管的的二进制执行包直接在Windows上运行。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯