MSIL研究 0

是时候研究IL方面的程序了,太多这方面的技术点需要总结。准备写一个系列,关于IL的全部。

先总结一下,看完老瓦的Video后的一些心得笔记:

Opcode指令集

IL代码:
    1.directive声明,以.开头
    2.instruction声明,不以.开头
    3.entrypoint 程序入口
    4.ansi,与非托管代码交互式,标记字符集
    5.auto,自动最优化排列成员
    6.hidbysig,隐藏父类中被覆写的方法
    7.cil managed,生成托管代码
    8.assembly.extern 引用外部程序集

不能显示调用cctor

所有的局部变量在编译成IL后,都丢失了原来的名字,代替以V_0, V_1等等

静态变量都会初始化为0;实例变量不保证初始化——于是C#编译器会帮助检查

ldarg.0    将第0个变量调用到栈上
ldc.i4.2    将常量2加载到栈上
stfld        将栈上数据存入成员变量中


assembly    逻辑上
module        物理上
    *VS2005不支持编译为module

posted @ 2007-10-01 14:28  包建强  Views(716)  Comments(0Edit  收藏  举报