.Net 应用程序与进程的简单理解

本文介绍了.Net应用程序与进程的相关知识。.Net应用程序加载后成为普通进程,编译后形成IL编码,基础调用通过.Net类库入口实现。其加载过程包括创建进程、映射支持库、放入IL编码等,采用托管方式,操作系统按一般进程对待其运行。

.Net 应用程序与进程的简单理解

lu_yi_ming(_at_)sina.com   2004.11.4


1. .Net 应用程序加载后最终变成一个普通的进程,windows 按照普通进程对待,如调度及异常处理。

2. .Net 应用程序编译后形成 IL 编码(不是x86的机器码加C函数调用)。

3. .Net 应用程序(实时编译为x86代码后)所有的基础调用都通过 .Net 类库入口实现,.Net 类库入口检查调用的合法性等,然后再进一步调用传统的操作系统的函数入口或 COM 入口。

4. .Net 应用程序的加载过程:创建一个进程,把 .Net 的支持库映射到进程地址空间中,把应用程序的 IL 编码放入进程内存空间,调用 .Net 的支持库的某个开始函数,从这个函数开始分析 IL 编码,把所有的 IL 函数入口记录为尚未编译,然后把函数 main 编译成 x86 机器码,开始调用 main,main 调用其他函数时再先编译后调用。这种方式叫托管。操作系统对整个程序的运行按照一般进程对待。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值