.Net程序被编译为称为“程序集”的DLL或EXE文件类型。程序集包含机器可执行代码

时间:2011-03-29 18:27:35

标签: .net

.Net程序被编译为称为“程序集”的DLL或EXE文件类型。程序集包含机器可执行代码

4 个答案:

答案 0 :(得分:2)

不,它们包含MSIL(*)。谷歌,或阅读overview in MSDN

(*)除其他外,例如清单,类型元数据和资源。资源可以包含任何二进制数据,包括机器可执行代码。这很不寻常,但确实存在从程序集中嵌入的资源中提取并运行非托管DLL的程序集,其中包含机器可执行代码。

答案 1 :(得分:1)

Dll和Exe实际上包含一个名为MSIL(Microsoft中间语言)的代码,如果您使用ILDASM(中间语言反汇编程序)进行检查,则类似于Assembler和“C”的混合。这些程序集在运行时使用“JIT”或Just In Time编译器编译为实际机器代码。

有一个实用程序(NGEN)可以将IL预编译为本地机器代码。

可在以下位置找到更完整的版本:http://msdn.microsoft.com/en-us/library/ht8ecch6%28v=VS.90%29.aspx

干杯,

CEC

答案 2 :(得分:0)

程序集是用于编译为中间语言的.NET托管代码的容器。 IL是Just-In-Time编译到目标体系结构(通常是x86,但可以是装载CLR的任何体系结构)第一次加载/运行程序集。

答案 3 :(得分:0)

哦顺便说一下你在学习.Net中的程序集的主题: