GCC
Posted chu-yi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GCC相关的知识,希望对你有一定的参考价值。
1,其本质就是一个编译器。
gcc -o output
gcc -o 输出文件名 输入文件名
2.其编译过程实质可分为一下四部:
类型 | 说明 |
-E | 预处理后即停止,不进行编译、汇编及连接 |
-S | 编译后即停止,不进行汇编及连接 |
-c | 编译或汇编源文件,但不进行连接 |
-o file | 指定输出文件file |
(1)预处理 【gcc -E】可以理解为替换,宏定义等。
(2)编译 (编译为汇编)【gcc -S】 生成.s文件 (处理关键字)
(3) 汇编 【gcc -c】 由上步.s生成.o文件
(4) 链接 【gcc -o】
上述四部只能依次顺序进行(下一步奏的执行,上一步骤必须执行)。
在预处理阶段,主要处理C语言源文件中的#ifdef、#include、以及#define等命令。在与处理过程中,GCC会忽略掉不需要预处理的输入文件,该阶段会生成中间文件*.i。
3.常见错误
(1)预处理出错
#include “stdio.h” (“”用于当前目录)
#include "abc.h" (<>只能用于系统目录)
not find
gcc -I 跟查找头文件的目录(指明头文件所在)eg: gcc -I ./a -o file a.c
(2)编译错误
主要为语法问题;
以上是关于GCC的主要内容,如果未能解决你的问题,请参考以下文章