预处理+编译+汇编+连接

预处理 (preprocessing)+编译(compilation)+汇编(assembly)+连接(linking)

预处理:

在程序设计语言中有 预处理命令
C预处理的概念:ANSI C标准规定,可以在C源程序中使用编译预处理命令,就是程序进行编译前对程序中的编译预处理命令作相应的预处理。
C提供的预处理主要有三种—— 宏定义、文件包含和 条件编译。
 
1、预处理器(Preprocessor)
预处理器是一个文本处理程序,它在程序编译的第一个阶段处理源代码的文本。当然预处理器不只是编译之前才被调用处理源代码,它也可以被其他程序单独的调用以实现文本的处理。
2、 预处理指令
预处理指令,比如 #define 和 #ifdef,一般被用来使源代码在不同的执行环境中被方便的修改或者编译。源代码中这些指令会告诉预处理器执行特定的操作。比如告诉预处理器在源代码中替换特定字符等。
 

编译:

编译(compilation , compile) 1、利用编译程序从源语言编写的源程序产生目标程序的过程。 2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。 编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。

值得一提的是,大多数的编译程序直接产生机器语言的目标代码,形成可执行的目标文件,但也有的编译程序则先产生汇编语言一级的符号代码文件,然后再调用汇编程序进行翻译加工处理,最后产生可执行的机器语言目标文件。

 

汇编:

汇编大多是指汇编语言,汇编程序。把汇编语言翻译成机器语言的过程称为汇编。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。

用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理的系统软件

 

连接:

用来把要执行的程序与库文件或其他已经翻译好的子程序(能完成一种独立功能的程序模块)连接在一起,形成机器能执行的程序。

你可能感兴趣的:(计算,gcc工作过程)