源代码是如何编辑生成托管代码,托管代码包含那些内容(一)

本文探讨了C#源代码如何通过编译器转化为托管模块,然后在CLR运行时环境下,中间语言(IL)被即时编译器(JIT)转换为本地CPU指令。程序集包含元数据表,描述托管模块和源文件的组成。当程序运行时,JIT编译器验证并转换IL代码,确保执行的安全性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    我们平时写的.cs文件.aspx.cs是怎么样编辑并且在我们电脑上面跑起来的呢,带着这些问题,看CLR via C#第一章,就帮我们解答了。

   

上面图只是托管模块的一部份。

C#源代码------》是通过C#编译器------》编译成托管模块。  CLR 在运行时,将托管模块的中间语言,编译成本地的CPU指令。


托管模块组合为程序集

编译器将托管模块组合成程序集,编译器打交道的是程序集,程序集包含,一个或者多个托管模块,或者源文件.

托管模块,源文件 被编译器生成一个PE32(+)文件,也就是程序集。PE32文件中包含mainifest,另一组元数据表.这个元数据表中包含,托管模块和源文件是如何组成程序集。



3. EXE或DLL文件启动CLR运行时



4. 程序集执行

IL代码要通过即时编译器(JIT)转换成本地CPU指令。

方法第一次调用过程?

  • 1. 当程序
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值