托管代码C#中的非托管代码是什么

托管代码  时间:2021-06-26  阅读:()

托管代码与非托管代码的区别

其实整个.NET项目都是运行在.NET Framework上的托管代码,这个道理和JAVA虚拟机的机制是类似的。

最简单的说呢,受托管的代码不能直接写内存,是安全的,而非托管代码是非安全代码,可以使用指针操作内存。

一般的项目使用托管代码都行了,也就是说在程序里面不需要用到非安全代码。

对于一些对速度要求高的部分功能可以考虑使用非安全代码,使用指针等读写内存,而对于真个项目来说还是受托管的安全代码。

有关非安全代码的信息请查阅MSDN unsafe。

代码托管是做什么的?

托管代码 (managed code)同受管制的代码,由公共语言运行库环境(而不是直接由操作系统)执行的代码。

托管代码应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。

这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。

托管代码是可以使用20多种支持Microsoft .NET Framework的高级语言编写的代码,它们包括:C#, J#, Microsoft Visual Basic .NET, Microsoft JScript .NET, 以及C++。

所有的语言共享统一的类库集合,并能被编码成为中间语言(IL)。

运行库编译器(piler)在托管执行环境下编译中间语言(IL)使之成为本地可执行的代码,并使用数组边界和索引检查,异常处理,垃圾回收等手段确保类型的安全。

托管和非托管是什么意思

托管是.NET的一个专门概念,它是融于通用语言运行时(CLR)中的一种新的编程理念,因此我们完全可以把“托管”视为“.NET”。

那么什么是“通用语言运行时”?通用语言运行时是.NET 框架应用程序的执行引挚。

它提供了许多服务,其中包括:代码管理(装入和执行)、类型安全性验证、元数据(高级类型信息)访问、为管理对象管理内存、管理代码,COM对象和预生成的DLLs(非管理代码和数据)的交互操作性、对开发人员服务的支持等等。

  也就是说,使用托管C++意味着,我们的代码可以被CLR所管理,并能开发出具有最新特性如垃圾自动收集、程序间相互访问等的.NET框架应用程序。

C#中的非托管代码是什么

分析:非托管代码(Unmanaged Code)是指直接编译成目标计算机的机器码,这些代码只能运行在编译出这些代码的计算机上,或者是其他相同处理器或者几乎一样处理器的计算机上。

非托管代码不能享受公共语言运行库所提供的一些服务,例如内存管理、安全管理等。

如果非托管代码需要进行内存管理等服务,就必须显式地调用操作系统的接口,通常非托管代码调用Windows SDK所提供的API来实现内存管理。

非托管程序也可以通过调用COM接口来获取操作系统服务。

注意:C#跟Visual Studio平台的其他编程语言不一样的是,C#可以创建托管程序与非托管程序。

当创建的项目选择名字以MFC,ATL或者Win32开头的项目类型,那么这个项目所产生的就是非托管程序。

总结:非托管代码(Unmanaged Code)不由CLR公共语言运行库执行,而是由操作系统直接执行的代码。

pacificrack:超级秒杀,VPS低至$7.2/年,美国洛杉矶VPS,1Gbps带宽

pacificrack又追加了3款特价便宜vps搞促销,而且是直接7折优惠(一次性),低至年付7.2美元。这是本月第3波便宜vps了。熟悉pacificrack的知道机房是QN的洛杉矶,接入1Gbps带宽,KVM虚拟,纯SSD RAID10,自带一个IPv4。官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7折秒杀优惠码:R3UWUYF01T内存CPUSS...

AlphaVPS(€3.99/月)VPS年付15欧,AMD EYPC+NVMe系列起

AlphaVPS是一家保加利亚本土主机商(DA International Group Ltd),提供VPS主机及独立服务器租用等,数据中心包括美国(洛杉矶/纽约)、德国、英国和保加利亚等,公司办公地点跟他们提供的保加利亚数据中心在一栋楼内,自有硬件,提供IPv4+IPv6,支持PayPal或者信用卡等方式付款。商家提供的大硬盘VPS主机,提供128GB-2TB磁盘,最低年付15欧元起,也可以选择...

DediPath($1.40),OpenVZ架构 1GB内存

DediPath 商家成立时间也不过三五年,商家提供的云服务器产品有包括KVM和OPENVZ架构的VPS主机。翻看前面的文章有几次提到这个商家其中机房还是比较多的。其实对于OPENVZ架构的VPS主机以前我们是遇到比较多,只不过这几年很多商家都陆续的全部用KVM和XEN架构替代。这次DediPath商家有基于OPENVZ架构提供低价的VPS主机。这次四折的促销活动不包括512MB内存方案。第一、D...

托管代码为你推荐
isbackground急!there is no attribute "background"怎么改?ico监管BTCB是什么?无处不在的意思人山无处不花枝的意思是什么防火墙技术应用在网络支付流程中,防火墙技术与数据加密技术应用则重点有什么不同?ocr软件下载哪个图片转文字软件比较好用?怎么查微信注册时间微信号用了多久,怎么知道微盟价格为什么这么多人用微盟,微盟都有哪些优势微盟价格做微盟平台的销售怎么样,有前景吗btestBTEST软件测试工程师培训女孩适合学吗?就业前景如何呢?怎么保存整个网页怎样完整的保存一个网页
域名解析 域名升级访问中 域名服务器上存放着internet主机的 免费申请域名和空间 已经备案域名 阿里云搜索 外国服务器 l5520 外国空间 174.127.195.202 godaddy域名转出 老左正传 南通服务器 鲁诺 上海联通宽带测速 中国电信宽带测速器 华为云服务登录 智能dns解析 测试网速命令 攻击服务器 更多