摘要:
常量是一种表示恒定不变的值的符号,当定义一个常量时,我们必须在编译时就确定它的值,而当使用常量时,编译器首先从定义常量的模块元数据中查找符号,直接取出常量的值,然后就将它嵌入到编译后产生的IL代码中。由于常量的值是直接嵌入到代码中的,所以常量在运行时不再需要任何的内存分配,所以我们不能获取常量的地址,或者以引用的方式来传递一个常量。 下面这个例子,我们会发现常量可能导致的版本更新问题: using... 阅读全文
摘要:
我们可以使用任何支持CLR的编程语言来创建源代码文件。然后使用相应的编译器来做语法检查和源代码分析。但是不管使用的是何种编译器,最后生成的结果都是一个托管模块(Managed Module)。托管模块是一个需要CLR才能执行的标准WindowsPE(Portable executable,简称PE)文件。 下表描述了一个托管模块的各个组成部分 组成部分 描述 PE表头 标准的Wi... 阅读全文