vb.net非托管代码 vbnet委托

托管代码和非托管代码有什么区别广义的说,托管代码就是集成在你所使用的开发平台内的编程语言 。例如:目前最常见的 .Net 运行库里集成了VC, C#, VB, F#...等20多种语言的构件和处理功能 。
托管代码:
”托管“的含义就是 , 这些语言的后台(隐性的)操作都由这个管理系统(.Net)完成了 , 你把你的编程委托给了开发平台(库)来完成 。当你使用这些语言时,一些系统资源的调用、回收、编译……各种工作都由它来完成,你只需要专注于程序功能的实现即可 。
非托管代码:
就是指不在你这个集成开发环境里,而是使用其它的开发平台写出的程序(代码) 。比如说java语言(不是jscript),basic语言(不是VB),C语言(不是VC/C/C#)等等……它们也有自己的开发平台和程序,用这些语言写出的程序就属于”非托管“ 。
【vb.net非托管代码 vbnet委托】当非托管的代码在你的托管平台上运行时,你的托管平台就不能很好地处理一些后台(隐性的)操作,就需要编写额外的代码来使它们变得和谐并且安全 。
举个最简单的例子:
C和汇编语言,它们是最早期进入计算机领域的高级语言(汇编已经不能算高级语言了:)),它们可以直接对CPU、内存、总线、I/O、硬盘等硬件进行操作(读/写),像DOS、Windows、iOs这些操作系统都是用它们写的 。
所以你在.Net集成环境中直接使用这些语言时,会遇到很大的阻碍,阻碍来源于所谓的”托管平台“ , 它认为这些操作是不安全的,就会拒绝编译和执行 。
但这些语言的特点是操作直接、速度奇快(跟托管平台比) , 而且专用性和针对性极强,当我们需要运行具有上述特点的程序时,C和汇编可以说是最理想的语言了 。要想让它们和托管平台”和平共处“的话 , 就需要编制额外的代码让它们符合这个托管平台的安全和管理规范,还需要有非常高深的编程功底 。要不然等待我们的就会有两种结果:一是程序无法运行、二是直接造成软件或硬件的损坏(底层操作是可以损伤硬件的) 。
我解释清楚了吗?
vb6.0和vb.net有什么区别?VB6.0是基于对象vb.net非托管代码的,VB.NET是面向对象vb.net非托管代码的,它们之间的语法上差距还是比较大的.
VB.NET生成的是托管代码,必须运行于.NET框架之上.VB6则依赖于VB6运行时的支持.
在WINDOWS的下一版本WINDOWS 7中仍然会提供VB6的支持,不过再到以后的版本就没了.
如果vb.net非托管代码你是第一次学,个人觉得还是直接转向VB.NET学习好了.
托管代码与非托管代码的区别1简单vb.net非托管代码的说vb.net非托管代码,就是代码被编译成MSIL后在.netvb.net非托管代码的Framework下运行vb.net非托管代码,同操作系统底层的交互都交给framework去做 。所谓非托管代码就是脱离vb.net非托管代码了Framework的管制,直接同底层API打交道,自己管理自己的内存和安全机制等东西 。而托管代码就不管这些,全都由Framework去完成
2“程序”一般都是在对操作系统进行直接或者间接的操作
“托管程序”是需要通过访问公共语言运行时(cls)才能访问操作系统的程序
而“非托管程序”不用通过访问公共语言运行时(cls)可以直接访问操作系统的程序
3vb.net,C#等写的程序是托管程序,VC可以写托管程序,如果用到了内存管理,则只能编译为非托管程序这些东西MSDN上都写得很清楚的,如果真想深入了解的话LZ可以看看CLR via C#、.net框架设计、Effective C#之类的书籍
vb.net非托管代码的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于vbnet委托、vb.net非托管代码的信息别忘了在本站进行查找喔 。

    推荐阅读