c# .net 反射Reflection--初识篇,实现可配置,可扩展

引子

【C# 高级语言 (人类语言)】--->【编译器 编译】--->【DLL/EXE】里面有2个文件分别是【metadata】和【IL】--->【IL】--->【CLR/JIT】--->【机器码 (01010101)】

我们所写的语言是【C# 高级语言 (人类语言)】这里的c#也可以是PHP或者JAVA等高级语言,是人类可以看懂的。

然后,通过编译器,编译成DLL或者EXE文件,这个文件下面有2个文件一个metdata和IL;

metdata里面存放着DLL或者EXE文件里面的类和方法的描述信息,类似于一本书的目录;

IL里面存放着编译后的完整代码;

IL:也是一种面向对象语言,但是不太好阅读

 metadata元数据:数据清单,描述了DLL/exe里面的各种信息

TIS:metdata和IL这两个文件,我们是看不到的,如果用反编译工具(ILSpy反编译工具)是可以看到“IL”文件;

然后,提供给CLR进行执行,CLR会把IL文件里的代码编译成“机器码”也就是0101组成的代码,由计算机运行;

CLR同JAVA的虚拟机一样,是个运行环境;

TIS:二次编译:为了一次编译,不同平台使用;加一层中间层,更灵活;


概述

猜你喜欢

转载自blog.csdn.net/cplvfx/article/details/104692446