首页 新闻 会员 周边 捐助

CLR与托管进程的关系

0
[已关闭问题]
CLR与托管进程是什么关系?是所有托管进程都共享一个CLR,还是每个托管进程都有自己独立的CLR?
草船上的稻草人的主页 草船上的稻草人 | 初学一级 | 园豆:166
提问于:2008-05-29 17:13
< >
分享
其他回答(3)
0
共享一个~~
沙加 | 园豆:3680 (老鸟四级) | 2008-05-29 19:39
0
代码在CLR中的运行过程 1、选择编译器 首先CLR选择编译器,因为CLR中可以运行不同语言开发出来的代码。 2、把代码编译成MSIL CLR利用选择的编译器生成MSIL(Microsoft intermediate language)和metadata把她们加载到PE(portable executable file)。 MSIL:解释语言,包含代码信息,让JIT易于编译成机器语言。与操作系统和编程语言无关。 PE:可执行文件格式,windows就是DLL或EXE了。 3、用JIT编译器把MSIL编译成机器语言 有两种方式一种是只编译当前执行的代码段,另一种是把整个代码一次性编译。JIT会检测代码的安全性。 4、 执行代码 代码首次调用就会编译成机器代码,再次调用的时候就不再重新编译了。 ---------------- 所以CLR的作用是把不同的语言例如c#,VB等等编译出来的程序集,转换成机器可以执行的代码,不同的托管程序用的都是一个CLR。
玉开 | 园豆:8822 (大侠五级) | 2008-05-30 08:56
0
使用相同版本的CLR的不同进程,其CLR所占内存的物理地址是一致的.
deerchao | 园豆:8367 (大侠五级) | 2008-06-01 10:24
0
"我们的电脑上不是可以安装多个版本的CLR吗,如果不同的托管程序共享一个CLR,那到底是哪个版本的CLR?" 看你的程序是什么版本的,会自动选择!
致博腾远 | 园豆:1389 (小虾三级) | 2008-06-05 09:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册