c#代码编译过程
来源:互联网 发布:书签淘宝 编辑:程序博客网 时间:2024/05/17 22:49
摘自以下两篇文章:
http://blog.sina.com.cn/s/blog_625eba570100g1d2.html
http://www.cnblogs.com/li0803/archive/2011/02/03/1948924.html
C#语言运行时要经过两次编译,第一次编译是将源代码编译为MSIL(微软中间语言),即可以发布软件了。当软件运行时MSIL代码载入内存时会进行第二次编译,中间语言会编译为机器语言以供计算机调用,第二次编译只在载入内存时发生,编译的结果被储存起来以备重复利用。编译时是按需编译,即只编译所用到的代码,而不是全部程序,称为JIT(即时编译)。
编译过LINUX的朋友应该都熟悉Make文件吧,在这里面可以清楚的看到使用编译器把C源代码编译成二进制源代码的流程,中间干了什么都可以看得清清楚楚。但使用VS的朋友一般都是程序写好之后直接F5就运行了,后面做了什么我们根本不知道。对于COSMOS的源代码,VS只是帮我们编译成了IL的代码,这种代码无法在没有CLR环境中运行,所以VS还需要把IL代码编译为针对CPU的本地代码。这中间的流程都由MSBuild这个东西控制。对于MSBuild的介绍可以直接查看MSDN文档。总的来说这个东西的地位就相当于Make文件的地位吧,指导VS如何生成可以引导的二进制文件。
0 0
- C#代码编译过程
- c#代码编译过程
- C#代码的编译过程
- C#编译过程
- C#编译过程图解
- C#编译过程
- c代码编译过程
- c++代码编译过程
- 代码编译过程
- 代码编译过程
- 代码编译过程
- C#动态编译代码
- c#动态编译代码
- C# 动态编译代码
- C# 动态编译代码
- C#动态编译代码
- Roslyn 编译C#代码
- 动态编译C#代码
- 第十二周上机项目1 阅读程序(4)
- Unity3D笔记——雾效如何设置
- 第12周 项目2-3 求成绩
- iOS 逆向之ARM汇编
- Remove Duplicates from Sorted List
- c#代码编译过程
- JPA快速入门 - 环境搭建
- 第十二周项目三——最大公约数
- MSRA面试总结
- uva--10700
- Java EE HTML5 WebSocket 示例
- 按文档得分进行排序
- MySQL的导入和导出
- msbuild