gcc与g++的使用

本文介绍了gcc编译器的基本语法,如编译C和C++程序的不同方式,编译C++程序时若使用了C++标准库需链接相关库。还列举了gcc常见选项,如无选项、-x、-o等的作用。此外,提到g++专用于编译C++文件,能自动链接C++标准库,可编译多个C++程序。

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

1 gcc编译器的基本语法格式如下:

gcc  【选项】 准备编译的文件  【选项】  【目标文件】

例如:编译名为 test.c 的c程序  :  gcc test.c -o test

 

2 若使用gcc编译器编译c++程序,与编译c程序略有不同:

若cpp文件中未使用任何c++标准库的内容,即还是c语言,则无需特殊处理;

若cpp文件使用了如std命名空间等c++内容,则在gcc选项中需要链接上相关c++库;

例如:使用gcc编译名为 test.cpp 的c++程序,其中使用了std命名空间:

gcc test.cpp -lstdc++ -o test

-l:gcc的链接选项 ,将c++标准库的stdc++链接上

 

3 gcc常见选项

无选项:在准备编译的文件目录下生成可执行文件 a.out ,例如:gcc test.c

-x:告诉gcc源文件的语言,若不使用,则默认根据文件后缀判断语言,例如:gcc -x c test.fuck ,“c”处还可为:c++  ,assembler ,c-header ,objective-c ,等

-o:用于指定结果名称

-c:告诉gcc只进行编译和汇编,不进行链接,将生成一个不可执行的 .o 文件,例如:gcc -c test.cpp

-I(大写i):指定头文件所在文件夹路径,语法:-I dirPath 。若源代码使用尖括号包含头文件,gcc首先在-I指定的目录下寻找,再到标准默认路径/usr/local/include下搜索,再到标准默认路径/usr/include下搜索,再搜索不到就报错;若使用双引号包含的头文件,gcc先在当前工作目录寻找,再到上述三个目录寻找。例如:gcc test.cpp -I /fuck/inc -o test

-include:有时候源程序没有写包含头文件的代码却使用了头文件内容,可以考虑是在gcc编译阶段进行了包含,使用方法: gcc [srcfile] -include [headfile],例如:gcc test.cpp -include /fuck/inc/test.h -o test

-Wall:显示所有警告信息,例如:gcc test.cpp -Wall -o test

-g:可以产生供gdb调试的可执行文件,例如:gcc test.cpp -g -o test

-pg:可以产生供gprof剖析用的可执行文件,用于性能分析

-l:用于链接动态链接库,用法是直接加上库名字,例如:gcc test.cpp -lstdc++ -o test

 

4 g++的基本使用

g++与gcc类似,,有相同的语法结构和选项,专用于编译c++文件,且能自动链接c++标准库,更为方便。

编译多个c++程序:g++ test1.cpp test2.cpp -o test

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值