欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

GCC

程序员文章站 2023-01-23 10:24:07
1,其本质就是一个编译器。 gcc -o output gcc -o 输出文件名 输入文件名 2.其编译过程实质可分为一下四部: (1)预处理 【gcc -E】可以理解为替换,宏定义等。 (2)编译 (编译为汇编)【gcc -S】 生成.s文件 (处理关键字) (3) 汇编 【gcc -c】 由上步 ......

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

GCC

(2)编译错误

   主要为语法问题;