前言
本文总结了基本的Linux下GCC编译器,GDB调试器及Makefile的使用方法。
目录
一、GCC
1.GCC的介绍
GCC(GNU Compiler Collection,GNU 编译器套装)是一套由 GNU 开发的编程语言编译器。GCC 是非常优秀的跨平台编译器集合,支持 x86、ARM、MIPS 和 PowerPC 等多种目标平台。GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C 语言。GCC 很快地扩展,变得可处理 C++。之后也变得可处理 Fortran、Pascal、Objective-C、Java,以及 Ada 与其他语言。
2.GCC的使用
(1).GCC指令的一般格式
gcc [选项] 要编译的文件列表 [-o 目标文件]
//目标文件可缺省,gcc默认生成可执行的文件为a.out
//单文件编译
gcc test.c
//多文件编译
gcc main.c add.c -o main
(2).GCC的选项
gcc有超过100个的可用选项,主要包括总体选项、告警和出错选项、优化选项和体系结构相关选项。下表为常用选项。
(3).GCC常见的后缀名及其含义
(4).gcc的执行过程
虽然称gcc是C语言的编译器,但使用gcc由C语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤:预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和链接(Linking),如图所示。
a.预处理(preprocess)
这个阶段主要处理源文件中的 #ifdef、#include和 #define命令。对于该阶段,gcc将stdio.h文件中的代码包含进这段程序,我们可以利用
gcc -E test.c -o test.i //test为生成的.c文件名