Pro*_*Net 9 .net c# linker compilation build
Building是由编译和链接组成的序列.
在.NET中,源代码被编译到包含公共中间语言和类型信息的程序集中.在运行时,JIT编译器将CIL代码转换为本机代码.
我不明白,在.NET中,链接是如何以及何时发生的.
有人可以解释一下这个过程吗?
提前致谢
在C++方面没有任何联系.
我的意思是,没有任何中间的"obj"/"lib"文件,可以在以后分发和链接到另一个"obj"文件.对程序集的引用总是具有动态行为(总是动态链接库),而不是C++静态链接.
像链接之类的东西是一种创造.netmodule.你可以建立与编译.NET源代码转换.netmodule,而不是组件(看这里,尤其是部分"之间的C#编译器和C++编译器的输出差异"),以后可以一起这些模块连接成一个单一的组件(见Al.exe工具).
但这是不常见的做法 - 大多数程序集包含单个模块,并且这项工作(源 - >模块 - >程序集)已由编译器(例如csc.exe)在幕后完成.此外,我不记得任何产品被重新分配为一组.netmodule(而不是一组程序集).