c编译步骤
Posted caidi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c编译步骤相关的知识,希望对你有一定的参考价值。
这几天查编译问题时,在头文件中加入某些错误信息,却发现没有编译报错。想了一下可能是,还未进行到语法分析阶段。
这里再了解一下编译过程。
一般而言代码编译包含了四个阶段的处理,即预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编 (Assembly)和连接(Linking):
1、预处理:预处理的作用主要是读入源代码,处理预处理指令
预处理指令是以“#”开头的,预处理的处理对象主要包括以下方面:
- #define 宏定义
- 条件编译、头文件包含指令
- #运算符 #运算符作用是把跟在其后的参数转换成一个字符串
- ##运算符 ##运算符的作用用于把参数连接到一起
- 特殊符号 __FILE__/__LINE__/__DATE__/__TIME__
2、编译:编译成汇编语言
(1)词法分析,
(2)语法分析
(3)语义分析
3、汇编:将上面的汇编指令编译生成目标文件
从 高级语言->汇编语言->机器语言(二进制)
4、链接:将程序的目标文件与所需要附加的目标文件链接起来,最终生成可执行文件。附加的目标文件也包括了所需要的库文件(静态链接库和动态链接库)
以上是关于c编译步骤的主要内容,如果未能解决你的问题,请参考以下文章