一个软件从源代码到可执行程序,需要经历几个步骤的

来源:百度知道 编辑:UC知道 时间:2024/06/15 19:41:11
谢谢zbt85912的回答,但我想了解的是程序的制作过程。C#编译后不是机器码,而是中间代码,那它又是怎样生成可执行文件的

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

一个软件产品要经过需求,分析,设计,实现,测试五个工作流

一般经过编译程序编译后就可以直接执行了。
编译程序一般有两种执行方式:一种是边解释边执行,一次将一条指令通过编译程序编译成机器代码后执行,然后再编译下一条指令,此种方式必须通过编译程序来协助完成;另外一种是通过编译程序直接将程序源代码直接编辑成可执行文件,可执行文件可独立执行,用不着编译程序了。