gcc编译命令

本文介绍了GCC的编译方法,包括单文件编译、多文件编译和外部库文件依赖链接编译。单文件编译涵盖无选项自动编译链接、-o指定输出文件名等多种命令;多文件编译有多个文件一起编译和分别编译后链接两种方式;外部库文件依赖链接编译则涉及包含头文件目录、指定依赖库目录等命令。

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

一、单文件编译

1、无选项自动编译链接

命令:gcc main.cpp

作用:将main.cpp预处理、汇编、编译并链接生成可执行文件。默认输出为a.out。

2、-o(小写)

命令:gcc main.cpp -o demo

作用:将main.cpp预处理、汇编、编译并链接生成可执行文件demo。-o选项用来指定输出文件的文件名。

3、-E

命令:gcc -E main.cpp -o main.i

作用:将main.cpp预处理输出main.i文件。

4、-S

命令:gcc -S main.i

作用:将预处理输出文件main.i汇编成main.s文件。

5、-c

命令:gcc -c main.s

作用:将汇编输出文件main.s编译输出main.o文件。

6、无选项链接

命令:gcc main.o -o demo

作用:将编译输出文件main.o链接生成最终可执行文件demo。

7、-O(大写)

命令:gcc -O1 main.cpp -o demo

作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,编译时间越长。

二、多文件编译

1、多个文件一起编译

命令:gcc utils.cpp main.cpp -o demo

作用:将utils.cpp和main.cpp分别编译后链接成demo可执行文件。

2、分别编译各个源文件,之后对编译后输出的目标文件链接。

命令:

gcc -c utils.cpp                 //生成utils.o

gcc -c main.cpp              //生成main.o

gcc -o utils.o main.o -o demo              //将utils.o和main.o链接生成demo

三、外部库文件依赖链接编译

1、-I(大写)

命令:gcc -c -I /usr/dev/mysql/include main.cpp -o main.o

作用:包含mysql驱动库头文件目录,并编译生成目标文件main.o。

2、-L(大写),-l(小写)

命令:gcc -L /usr/dev/mysql/lib -lmysqlclient main.o -o demo

作用:通过-L指定依赖库目录,并通过-l指定具体依赖库名,链接生成可执行文件。

3、-static

命令:gcc -L /usr/dev/mysql/lib -static -lmysqlclient main.o -o demo

作用:强制链接是使用静态库链接库,如果在依赖库目录下同时存在libmysqlclient.so和libmysqlclient.a。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值