Linux的gcc编译过程(E、S、c、o、g)

您所在的位置:网站首页 Gcc编译器的功能 Linux的gcc编译过程(E、S、c、o、g)

Linux的gcc编译过程(E、S、c、o、g)

2023-11-16 06:32| 来源: 网络整理| 查看: 265

前言:

 以test.c文件为例子:

#include 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

(5)运行可执行文件



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3