gcc编译器

gcc编译过程

gcc在编译一个c 语言程序时,需要经历 预处理、编译、汇编、连接四个过程,生成一个可执行文件。完成整个编译还需要运行,下面依次介绍详尽与简略两种方式展示打印helloworld.c的gcc命令过程,多文件编译方式,以及gcc的ubuntu的安装
一、详尽版如下

1、预处理阶段, 在预处理过程中,编译器会对源代码的头文件和预处理语句进行分析,将当中的预处理指令替换为对应的内容

2、编译阶段 将预处理后的文件转换成对应的汇编文件此时会生成个.s结尾的汇编文件

3、汇编阶段 将汇编文件转换为目标文件(二进制码文件)此时会生成个.o结尾的目标文件

4、链接阶段 将进一步生成的目标文件和系统的库(静态库或动态库)文件合并生成为 可执行文件gcc源文件或前步生成的多个目标文件
-般来说,在这一步是系统当中的链接器进行操作的,只不过gcc当中融合链接器
5、运行阶段
链接下生成自定义可执行文件action
目录下的可执行文件的方式- 般如果是当前目录./
否则会将其当做系统指令运行
即执行命令格式:./可执行文件
6、命令展示(源文件为code.c)
在这里插入图片描述
二、简略版
方式一:
1、编译链接 :gcc -o ./文件 ./源文件
2、运行:./文件
3、命令:在这里插入图片描述

方式二:
1、编译链接 :gcc 源文件
2、运行:./a.out 系统默认可执行文件为a.out
3、命令:

三、多文件编译
两个源文件为:test_one.c test_two.c
基本上有两种编译方法:
1、多个文件一起编译
gcc test_one.c test_two.c -o test

2、分别编译各个源文件,之后对编译后输出的目标文件链接
gcc -c test_one.c
gcc -c test_two.c
gcc -o test_one.o test_two.o -o test

比较:第一中方法编译时需要所有文件重新编译;第二种需要重新编译修改的文件,未修改的不用重新编译
四、gcc在ubuntu中安装
在Windows装gcc比较麻烦,还可能安装不上,在Ubuntu只需要一条命令就可以完美安装
方法一:
sudo apt-get build-depgcc

方法二:
sudo apt-get install build-essential

查看安装完版本执行命令
gcc --version

输出如下: gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7) Copyright©2007FreeSoftwareFoundation,Inc. 安装成功!