托管与非托管以及生成的相关文件介绍

标注:

①MSIL是CIL原来的名称,许多开发者仍沿用这一名称。

②所创建的通用中间代码保存在程序集中。

1,非托管代码:

特点:必须依赖于操作系统,编译出来的程序文件只包含适用于特定CPU架构的指令。

缺点:不同的操作系统之间需要编译不同的程序文件,重复低效。

2,托管代码:

        最早是Java跨平台思想,.net是从2003年开始。

特点:

(1)开发者编写的代码编译后,不依靠特定的操作系统和特定的CPU架构机器指令,而是依赖一种中间的在各个系统上均能执行的代码,这种代码在java中称之为ByteCode(字节码), .Net中称之为MSIL(微软中间语言)。在C#中由VisualStudio将代码编译为通用中间语言,再由JIT编译器将MSIL编译为用于特定系统和目标机器架构的本机代码(JIT编译时在程序运行时动态发生)。

(2)不管是Java的ByteCode还是.net中的MSIL最终都是翻译成CPU可以执行的机器指令,这个功能是由一个运行在特定操作系统上的软件完成,这个软件称之为虚拟机。

3,生成的相关文件扩展名介绍:

exe:可执行文件

dll:动态链接库

pdb:调试数据库文件(包含编译后指向源码的位置信息,用于调试的时候位置定位,方便调试)

vshost.exe:用于提高调试效率的宿主进程。Vs调试时打开的其实是这个文件,用于使VS跟踪调试信息。

vshost.exe.manifest:是一个XML文件,用于COM类,接口库的绑定和激活,这些信息以前在注册中。

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值