Some Questions
May 18, 2022Less than 1 minute
Some Questions
C#的编译过程
C#->IL->机器码
什么是IL代码
IL-> Intermediate Language,它是一个部分编译的代码
什么是JIT
JIT-> Just in time compiler,使用JIT来编译IL代码到机器码
为啥么要用IL
因为开发环境和运行环境会有不同,根据运行环境JIT会来编译不同平带的机器码。同样在开发时,速度会更加的快了。
什么是CLR
CLR-> Common Language Runtime
- CLR 触发JIT来编译IL代码
- 清理任何没有使用的对象通过GC
什么是托管代码和非托管代码
- 托管代码激活在CLR激活环境
- 非托管代码激活在CLR边界意外,简单的说就是一些引用的dll。
GC可以清理非托管代码
不行