(翻译) 《C# to IL》第一章 IL入门
2009-05-29 08:31:17 来源:WEB开发网注意到,汇编器输出中的改变: Class 1 Methods: 1;
Output
hell
伪指令.class之后是类的名称。它在IL中是可选的,让我们通过添加一些类的特性来增强这个类的功能。
a.il
.assembly mukhi {}
.class private auto ansi zzz
{
.method public hidebysig static void vijay()il managed
{
.entrypoint
ldstr "hell"
call void System.Console::WriteLine(class System.String)
ret
}
}
Output
hell
我们添加了 3个特性到类的伪指令中。
private:这表示了对类的成员的访问被约束为只能在当前类中。
auto:这表示类在内存中的布局将只由运行时来决定,而不是由我们的程序决定。
ansi:源代码通常被划分为两个主要的类别:托管代码和非托管代码。
以诸如C语言编写的代码被称为非托管代码或不可信任的代码。我们需要一个特性来处理非托管代码和托管代码之间的互操作。例如,当我们想要在托管和非托管代码之间转移字符串时,这个特性会被使用到。
如果我们跨越托管代码的边界并钻进非托管代码的领域,那么一个字符串——由2字节Unicode字符组成的数组,将会被转换为一个ANSI字符串——由1字节ANSI字符组成的数组;反之亦然。修饰符ansi用于消除托管和非托管代码之间的转换。
a.il
.assembly mukhi {}
.class private auto ansi zzz extends System.Object
{
.method public hidebysig static void vijay()il managed
{
.entrypoint
ldstr "hell"
call void System.Console::WriteLine(class System.String)
ret
}
}
- ››Illustrator CS6 打造孔雀花纹的字体
- ››TOscilloscope 仿Windows任务管理器CPU使用记录组...
- ››Illustrator教程:设计制作几何花瓣LOGO
- ››Illustrator实例教程:漂亮证卡变幻线的制作
- ››Illustrator文字教程:制作漂亮质感描边字
- ››Illustrator鼠绘:渐变工具运用绘制金属闹钟
- ››Illustrator鼠绘:教你画一个可爱卡通宝宝教程
- ››Illustrator简单四步做透明气泡教程
- ››Illustrator教程:制作漂亮的新货吊牌
- ››Illustrator教程:改变圆角矩形中一个圆角半径
- ››Illustrator教程:如何用网格工具绘制花瓣
- ››Illustrator涂抹命令打造文字草图特效
更多精彩
赞助商链接