Ubuntu中使用gcc/g++编译C/C++

时间:2022-12-14 19:09:45

对于习惯了使用windows进行开发的朋友们,如果想要编译C语言,只要要在windows中安装一个可以编译的IDE即可。或者直接自己加载编译的工具链,使用Cmd命令行也可以完成C语言的编译。

但是如果想要在linux环境中编译C语言,安装编译工具也是一样可以对C语言进行编译的。还可以把在windows中编写的C语言代码拿到linux中去编译。

本文分享ubuntu中安装gcc编译器,并用gcc编译器编译C语言。

1、 安装gcc编译器

在ubuntu中安装gcc可以使用 sudo apt install gcc 进行安装,如下指令:

sudo apt install gcc

安装过程如下:

Ubuntu中使用gcc/g++编译C/C++

由于我之前已经安装过gcc了,所以在此执行 sudo apt install gcc 时就会检查gcc更新,如果有最新的版本会更新为最新版本,不然的话会列出当前所安装的gcc的版本信息。

2、 gcc编译器常用的操作选项

gcc编译器的使用格式最简单的操作:

gcc [选项1] [选项2] [选项3] ...

用在C语言编译上常用的选项有以下几个,这里做简要说明,如果要了解详细的使用方法和介绍的话,可以查看man手册,用 man gcc 查看。

2.1、常用选项

gcc常用的选项有几个,也是需要我们重点关注的,如下:

(1)-o 选项:可以指定编译后输出的可执行文件的名称。
如:helloworld.c 编译后指定输出文件名为test,使用方式如下:
gcc -o test helloworld.c

(2)-c 选项:只编译C语言代码,不进行汇编连接。
gcc -c helloworld.c 会产生一个叫 helloworld.o 的目标文件。

(3)-S 选项,编译并产生汇编源文件。
gcc -S helloworld.c 会产生一个 helloworld.s 的汇编源文件。

(4)-E 选项,只对C源文件进行预处理。
gcc -E helloworld.c 只对C源文件中的宏和预处理进行展开,不编译C源文件。

如果要编译C语言文件,最简单的方式就是:

gcc 源文件

注意:使用这个方式直接编译的c源文件会默认生成 a.out 的可执行文件。

2.2、gcc使用的简单演示

(1)  新建一个名为 helloWorld.c 的C语言文件,如下:

Ubuntu中使用gcc/g++编译C/C++

(2)  打开 helloWorld.c 并写入一些简单的测试代码,如下:

Ubuntu中使用gcc/g++编译C/C++

(3)  使用 gcc helloWorld.c 编译,会在当前目录的路径下生成一个 a.out的文件,如下:

Ubuntu中使用gcc/g++编译C/C++

(4)  在命令行中使用 ./a.out 直接运行这个文件,会执行C语言中代码,并输出结果,如下:

Ubuntu中使用gcc/g++编译C/C++

到此,gcc的基本使用就介绍完了!如果想知道更多的使用,可以用 man gcc 查阅使用手册!

3、 安装g++编译器

在Ubuntu命令行中输入指令安装g++编译器,如下:

sudo apt install g++

如下的安装演示:

Ubuntu中使用gcc/g++编译C/C++

安装完成之后会显示当前安装的g++编译器的版本信息,如上图。

3.1、g++常用选项

g++常用的选项如下:

(1)-o :可以指定输出文件名,在编译为目标代码时,这一选项不是可以忽略的。如果没有指定输出文件名,缺省文件名是a.out。

(2)-c:只编译生成目标文件,不链接。

(3)-E:只运行 C 预编译器。

(4)-S:编译并产生汇编源文件。

这些常用选项和gcc是一样的。

3.2、gcc/g++常见的优化等级

常见的优化等级如下:

-O:优化编译过的代码
-ON:指定代码优化的级别为N,o<=N<=3

-O0:不进行优化处理。
-O 或 -O1:优化生成代码。
-O2:进一步优化。
-O3:比 -O2 更进一步优化,包括 inline 函数。



Ubuntu中使用gcc/g++编译C/C++