前言:
以test.c文件为例子:
#include<stdio.h>
int main() {
printf("hello,this is first test!");
}
先熟悉以下操作
1.给文件添加可执行权限
chmod +x filename.?
filename为文件名字
?为文件后缀名,例如py、sh、c、cpp......
2.-o操作对生成的文件进行命名
例如:
对test.c文件进行运行(执行gcc test.c),会默认生成a.out的文件,为方便观察一般在运行的时候输入以下gcc语句:
gcc test.c -o test.out
那就会生成对应的test.out文件
建议生成文件的时候使用-o操作,否则Linux会自动命名为a
对test.c的编译结果:
(1)打开终端,跳转目录到test.c的路径下。
(2)在终端中输入以下代码:
gcc test.c -o test.out
(3)在终端中输入ls,查看test.out是否生成,在终端中输入ls
(4)为test.out文件添加可运行权限
chmod +x test.out
(5)运行test.out文件
./test.out
(6)终端中输出 hello,this is first test!
gcc的详细编译四个阶段如下:
了解gcc编译器的E、S、c、o(在前言部分)、g选项
(1)预处理:
“-E”
过程:加载test.c的所有头文件。
使用方法:gcc -E test.c -o test.i
使用结果:输出 预处理输出文件test.i
(2)编译:
“-S”
确保该程序的规范性和语法无误的情况下,将gcc要编译的代码翻译成汇编语言
使用方法:gcc -S test.i -o test.s
使用结果:将预处理输出文件test.i翻译成汇编语言文件test.s
(3)汇编:
将汇编语言文件转换成二进制代码文件
“-c”
使用方法:gcc -c test.s -o test.o
使用结果:把test.s文件转成test.o
(4)链接:
使用方法:gcc test.o -o test
使用结果:生成可执行文件test