linux下的cc/gcc命令

本文详细介绍了Linux系统中GCC编译器的使用,包括预处理、汇编、编译和链接等步骤。通过实例展示了如何使用gcc、g++、gcc-E、gcc-S、gcc-c和gcc-O等命令来创建和优化C程序。同时,解释了-o、-E、-S、-c和-O等选项的作用,并给出了多文件编译的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux系统的C编译器为gcc,它是GNU推出的功能强大的编译工具,因为UNIX系统的编译器为cc,所以在Linux系统还保留一个链接cc,用于和UNIX的向后兼容。

其中g++和c++与gcc和cc的使用参数大致相同

gcc/cc常用命令
-o:指定生成的输出文件; 
-E:仅执行编译预处理; 
-S:将C代码转换为汇编代码;
-wall:显示警告信息; 
-c:仅执行编译操作,不进行连接操作。
-O:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。

1 假设源程序文件名为test.c

#include <stdio.h>

void main()

{

   printf("Hello world! \n ");

}
输入   gcc test.c

将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。
在这里插入图片描述

2 输入 gcc -o 指定生成的输出文件
将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。

gcc -o exp test.c

得到可执行文件为exp
在这里插入图片描述

3 输入gcc -E 仅执行编译预处理

gcc -o test.i -E test.c

将test.c预处理输出test.i文件。
在这里插入图片描述

4 输入 gcc -S 将C代码转换为汇编代码;
gcc -S test.i将预处理输出文件test.i汇编成test.s文件
在这里插入图片描述

5 输入 gcc -c 仅执行编译操作,不进行连接操作。
gcc -c test.s将汇编输出文件test.s编译输出test.o文件。
在这里插入图片描述

6 无选项链接
gcc test.o -o test
将编译输出文件test.o链接成最终可执行文件test。

7 输入 gcc -O
gcc -O1 test.c -o test使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。

8 多个文件一起编译
gcc test1.c test.c -o test将test1.c和test.c分别编译后链接成test可执行文件。2分别编译各个源文件,之后对编译后输出的目标文件链接。
gcc -c test1.c #将test1.c编译成testfun.o
gcc -c test.c #将test.c编译成test.o
gcc -o test1.o test.o -o test #将test1.o和test.o链接成test

其他参数
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浅*默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值