简述从c#源代码到可执行程序指令的转换过程
展开全部
1、编译预处理。读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。伪指令主要包括以下四个方面:
(1)宏定义指令;
(2)条件编译指令;
(3)头文件包含指令;
(4)特殊符号;
2、编译阶段。
经过预编译得到的输出文件中,将只有常量。如数字、字符串、变量的定义,以及C语言的关键字,如main,if,else,for,while,{,},+,-,*,\,等等。预编译程序所要作得工作就是通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价的中间代码表示或汇编代码。
3、优化阶段。
4、汇编过程。UNIX环境下主要有三种类型的目标文件:
(1)可重定位文件;
(2)共享的目标文件;
(3)可执行文件;
5、链接程序。根据开发人员指定的同库函数的链接方式的不同,链接处理可分为两种:
(1)静态链接;
(2)动态链接;
经过上述五个过程,C源程序就最终被转换成可执行文件了。
(1)宏定义指令;
(2)条件编译指令;
(3)头文件包含指令;
(4)特殊符号;
2、编译阶段。
经过预编译得到的输出文件中,将只有常量。如数字、字符串、变量的定义,以及C语言的关键字,如main,if,else,for,while,{,},+,-,*,\,等等。预编译程序所要作得工作就是通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价的中间代码表示或汇编代码。
3、优化阶段。
4、汇编过程。UNIX环境下主要有三种类型的目标文件:
(1)可重定位文件;
(2)共享的目标文件;
(3)可执行文件;
5、链接程序。根据开发人员指定的同库函数的链接方式的不同,链接处理可分为两种:
(1)静态链接;
(2)动态链接;
经过上述五个过程,C源程序就最终被转换成可执行文件了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |