59、深入理解CIL与动态程序集的作用

深入理解CIL与动态程序集的作用

1. 理解往返工程

CIL(Common Intermediate Language)支持使用双斜杠语法(以及 /*...*/ 语法)添加代码注释,和C#一样,CIL编译器会完全忽略这些注释。现在我们来看看CIL编程的实际应用,从往返工程开始。

往返工程是指使用 ildasm.exe 查看C#编译器生成的CIL代码,还能将加载到 ildasm.exe 中的程序集里的CIL代码导出到外部文件。有了CIL代码后,就可以使用 ilasm.exe 编辑和重新编译代码库。另外, reflector.exe 也可用于查看给定程序集的CIL代码,并将其转换为近似的C#代码。

往返工程在以下几种情况下很有用:
- 需要修改没有源代码的程序集。
- 使用不太完善的.NET语言编译器,生成了低效或错误的CIL代码,需要修改代码库。
- 构建COM互操作程序集,需要处理转换过程中丢失的COM IDL属性(如COM [helpstring]属性)。

下面通过一个例子来说明往返工程的过程:
1. 创建C#代码文件 :使用文本编辑器创建一个新的C#代码文件 HelloProgram.cs ,定义如下类:

// A simple C# console app.
using System;

// Note that we 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值