Linux下GCC编译工具集和ELF文件格式简介
文章目录
1 Linux GCC 简介
GCC 的意思也只是GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持C 语言;它现在还支持Ada语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的Mercury 语言,等等。
而GCC 也不再单只是GNU C 语 言编译器的意思了,而是变成了GNU Compiler Collection 也即是GNU 编译器家族的意思了。另 一方面,说到GCC对于操作系统平台及硬件平台支持,概括起来就是一句话:无所不在。
2 简单编译
2.1 编写程序
创建文件夹保存文件:
mkdir test4
cd test4
打开vim
编写程序:
vim test.c
源代码:
//test.c
#include <stdio.h>
int main(void)
{
printf("Hello World!\n");
return 0;
}
如要修改,则输入:
vim -r test.c
编写完成后,按ESC
输入 :wq
保存并关闭。
2.2 编译运行
2.2.1 编译的命令
编译源代码:
gcc test.c -o test
2.2.2 编译的过程
实质上,上述编译过程是分为四个阶段进行的,即预处理(也称预编译,Preprocessing)、编译
(Compilation)、汇编(Assembly)和连接(Linking)。
代码如下:
gcc -E test.c -o test.i 或gcc -E test.c //预处理
gcc -S test.i -o test.s