随笔分类 - CLR / CLI
介绍.NET底层相关知识。
摘要:.NET/CLI的PE文件中广泛采用了一种整数压缩算法,这种算法可以将一个32位整数根据其大小的不同放置在1、2或4个字节中。当整数的值比较小时,这种算法能够有效地减少PE文件的大小。本文介绍了这种压缩算法,并给出了压缩/解压缩的参考实现。
阅读全文
摘要:Compressed Integer is widely used in .NET/CLI PE files; this algorithm can place a 32-bit integer into 1, 2, or 4 bytes base on its value. Compressed integer can save the size of a PE file effectively, especially when the integer value is small. This document introduces the compression algorithm for integer, and gives the reference implement of the algorithm.
阅读全文
摘要:这里给出了一段可以搞死ILDASM的IL代码。
阅读全文
摘要:foreach语句是C#中一种重要的循环语句,用于遍历一个数组或对象集合中的每一个元素。这一篇文章介绍了在面对数组、IEnumerable接口和自定义类型时,编译器为foreach语句生成的IL代码。
阅读全文
摘要:常量的含义本是“永远不会变的量”,但是如果作为类库开发人员,把常量用作“可以由我变,但不能由你变”的量,那就可能铸成大错了。
阅读全文
摘要:switch语句是C#中常用的跳转语句,可以根据一个参数的不同取值执行不同的代码。本文介绍了当向switch语句中传入不同类型的参数时,编译器为其生成的IL代码。这一部分介绍的是,在switch语句中使用字符串类型的情况。
阅读全文
摘要:switch语句是C#中常用的跳转语句,可以根据一个参数的不同取值执行不同的代码。本文介绍了当向switch语句中传入不同类型的参数时,编译器为其生成的IL代码。这一部分介绍的是,在switch语句中使用整数类型和枚举类型的情况。
阅读全文
摘要:这是一个系列文章,介绍了C#中各种语言结构被编译器翻译为IL之后的样子,并从IL的角度分析其中的原理。
阅读全文
摘要:Microsoft Visual C# 3.0作为Visual Studio 2008的一部分发布以来已经快一年了。在VS Managed Languages团队,我们一直努力创建该语言的下一个版本(没什么惊喜,就是C# 4.0),而这个文档是我们现在所看到的、计划中的语言特性的第一个公开描述。
阅读全文
摘要:.NET/CLI的PE文件中广泛采用了一种整数压缩算法,这种算法可以将一个32位无符号整数根据其大小放置在1、2或4个字节中。本文介绍了这种压缩算法,并给出了解压缩的参考实现。
阅读全文
摘要:本文介绍了如何通过PE文件中某一项的RVA来计算其在文件中的位置。
阅读全文