Linux下的C编译环境概要:在linux环境中我们使用gcc来编译C程序,在面对规模大的C程序时(源文件好多),我们可以书写makefile并使用make命令完成C程序的构筑。第一部份C程序的编译过程首先,在阐述编译方式之前linux关机命令,我们应当先了解一下C程序的编译过程有什么阶段。1、编译预处理:、编译预处理:编译器读取C源程序,对其中的预处理命令(以#开头)和特殊符号进行处理。预处理命令包括主要包括三种,一是宏定义命令,二是条件编译指令,三是头文件包含指令。采用头文件的目的是使个别定义可以供多个不同的C源程序使用。在须要用到这种定义的C源程序中,只需加上#include句子即可,而毋须重新定义一遍。预编译程序将头文件中的代码统统加入到源文件,从而形成输出文件。不仅以上三种预处理命令,还有特殊符号。预编译程序可以辨识一些特殊符号。诸如在源程序中出现的LINE表示将被解释为十补码表示的当前行号。FILE则被解释为当前编译的源程序的文件名。预编译程序完成的工作,可以说成是对源程序的“替换”工作。经过这个过程,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。这儿须要注意的是我们应当避开因重复引入头文件而导致重复定义的错误。所以,我们在书写自己的头文件时,应该以#ifndef_Label_#define_Label_1开头linux如何编译c程序linux如何编译c程序,以#endif结尾。注意:这个阶段的产出仍是源文件,只不过早已没有了宏定义,条件编译指令,头文件包含指令,特殊符号那些东西。2、编译、优化:、编译、优化:编译程序的工作是linux命令详解词典,通过词法剖析、语法剖析,在确认所有的指令都符合句型规则以后,将其翻译成等价的汇编代码。在生成汇编代码过程中,可能涉及到优化处理。优化有两种:一种优化仅涉及代码本身,主要是删掉公共表达式、循环优化、代码外提、无用代码形参的删掉