托管代码和非托管代码的区别
托管代码:
运行在CLR上的代码,成为托管代码.例如: C#编译为中间语言IL.IL在公共语言运行时(CLR)上运行.
CLR相当于一个容器,提供安全检查,垃圾回收,JIT编译等功能.JIT根据不同的CPU得到的是不同的机器码.所以可以在不同的CPU上运行C#变异成的代码(IL).
运行时,通过JIT(Just In Time)编译为机器语言.(CLR提供JIT编译器).CLR还提供垃圾回收和安全检查.
非托管代码:
不是运行在CLR上的代码,成为非托管代码.如C++代码.非托管不享受托管代码的功能,例如垃圾回收,需要调用操作系统的垃圾回收机制.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步