对于习惯了使用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
安装过程如下:
由于我之前已经安装过gcc了,所以在此执行 sudo apt install gcc 时就会检查gcc更新,如果有最新的版本会更新为最新版本,不然的话会列出当前所安装的gcc的版本信息。
1.1、gcc编译器常用的操作选项
gcc编译器的使用格式最简单的操作:
gcc [选项1] [选项2] [选项3] ...
用在C语言编译上常用的选项有以下几个,这里做简要说明,如果要了解详细的使用方法和介绍的话,可以查看man手册,用 man gcc 查看。
1.2、常用选项
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 的可执行文件。
1.3、gcc使用的简单演示
(1)新建一个名为 helloWorld.c 的C语言文件,如下:
(2)打开 helloWorld.c 并写入一些简单的测试代码,如下:
(3)使用 gcc helloWorld.c 编译,会在当前目录的路径下生成一个 a.out的文件,如下:
(4)在命令行中使用 ./a.out 直接运行这个文件,会执行C语言中代码,并输出结果,如下:
到此,gcc的基本使用就介绍完了!如果想知道更多的使用,可以用 man gcc 查阅使用手册!
2、安装g++编译器
在Ubuntu命令行中输入指令安装g++编译器,如下:
sudo apt install g++
如下的安装演示:
安装完成之后会显示当前安装的g++编译器的版本信息,如上图。
2.1、g++常用选项
g++常用的选项如下:
(1)-o :可以指定输出文件名,在编译为目标代码时,这一选项不是可以忽略的。如果没有指定输出文件名,缺省文件名是a.out。
(2)-c:只编译生成目标文件,不链接。
(3)-E:只运行 C 预编译器。
(4)-S:编译并产生汇编源文件。
这些常用选项和gcc是一样的。
2.2、gcc/g++常见的优化等级
常见的优化等级如下:
-O:优化编译过的代码
-ON:指定代码优化的级别为N,o<=N<=3
-O0:不进行优化处理。
-O 或 -O1:优化生成代码。
-O2:进一步优化。
-O3:比 -O2 更进一步优化,包括 inline 函数。