C语言的编译系统有四个步骤:
预处理器->编译器->汇编器->链接器
那么C#呢,是不是也有这个过程,VS帮我们做了其中的哪些
看看via in C# 一书的前三章
过程上类似,但是不一样。
比如预处理:C#不支持C的强大库预处理;
编译器:C能直接编译为汇编,但是C#因为的.net 跨平台的产品,所以只能便以为il,如果成汇编就不能跨平台了。也正因为有了il这个中间语言,c#能很好的转为vb.net
所以接下来的汇编器和连接器跟c#无关了,只跟il有关系,这个跟c区别很大。
Vs一般就是调用了msbuild结果就是il包,在具体执行的时候才会把il加载到内存中让CLR运行。