购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.3 C程序的编译

本节通过一个实例讲述如何用gcc编译C程序。在编译程序之前,需要用VIM编写一个简单的C程序。在编译程序时,可以对gcc命令进行不同的设置。

4.3.1 编写第一个C程序

本节将编写第一个C程序(书中编写程序使用的编辑器是VIM)。

【实例 4.1】 程序实现文本的输出和判断两个整数的大小,如实例代码 4.1 所示。过程如下:

①打开系统终端。单击“主菜单”|“系统工具”|“终端”命令,打开一个系统终端。

②在终端中输入下面的命令,在用户根目录“root”中建立一个目录。

③在终端中输入“vim”命令,然后按“Enter”键,系统会启动VIM。

④在VIM中按“I”键,进入插入模式,然后在VIM中输入程序代码。

实例代码 4.1 文本的输出和判断两个整数的大小

【代码解析】代码第20 行,是输出“hello, Linux.”文本;第21 行,是调用max()函数得到变量i和j中的最大值,并保存到变量k中。

⑤代码输入完成以后,按“Esc”键,返回普通模式,然后输入下面的命令,保存文件。

这时,VIM会把输入的程序保存到c目录下的文件a.c中。

⑥输入“:q”命令,退出VIM。至此,已经完成了这个C程序的编写。

4.3.2 用gcc编译程序

上面编写的C程序,只是一个源代码文件,还不能作为程序来执行,需要用gcc将这个源代码文件编译成可执行文件。编译文件的步骤如下所示。

①打开系统终端。单击“主菜单”|“系统工具”|“终端”命令,打开一个系统终端。这时进入的目录是用户根目录“/root”,然后输入下面的命令,进入c目录。

②上一节编写的程序就存放在这个目录下,输入“ls”命令可以查看这个文件。

③输入下面的命令,将这个代码文件编译成可执行文件。

④查看已经编译的文件。在终端中输入“ls”命令,显示的结果如下所示。

⑤输入下面的命令,对这个文件添加可执行权限。

【运行效果】输入下面的命令,运行这个程序,最后结果如图 4.1 所示。

图4.1 文本的输出和判断两个整数的大小实例输出结果

从上面的操作可知,用gcc可以将一个C程序源文件编译成一个可执行文件。编译后的文件需要添加可执行权限才可以运行。在实际操作中,还需要对程序的编译进行各种设置。

注意: 文件名必须保存为“.c”或者“.C”才能被gcc所编译;否则必须指定编译语言。

4.3.3 查看gcc的参数

gcc在编译程序时可以有很多可选参数。在终端中输入下面的命令,可以查看gcc的这些可选参数。

在终端中显示的gcc的可选参数如下所示。进行程序编译时,可以设置下面这些参数。

4.3.4 设置输出的文件

在默认情况下,gcc编译出的程序为当前目录下的文件a.out。-o参数可以设置输出的目标文件。例如下面的命令,可以设置将代码编译成可执行程序do。

也可以设置输出目录文件为不同的目录。例如下面的命令,是将目录文件设置成/tmp目录下的文件do。

输入下面的命令,查看生成的目录文件。

结果如下所示,在编译程序时生成的目录为/tmp目录下的文件do。

4.3.5 查看编译过程

-v参数可以查看程序的编译过程和显示已经调用的库。输入下面的命令,在编译程序时输出编译过程。

显示的结果如下所示。

4.3.6 设置编译的语言

gcc可以对多种语言编写的源代码进行编译。如果源代码的文件扩展名不是默认的扩展名,gcc就无法编译这个程序。可以用-x参数来设置程序语言。通过下面的步骤来练习这一操作。

①输入下面的命令,将C程序文件复制一份。

②复制出的文件a.u是一个C程序文件,但扩展名不是默认的扩展名。这时输入下面的命令编译这个程序。

③显示的结果如下所示,表明文件的格式不能识别。

④这时,用-x参数设置编译的语言,命令如下所示。这样就可以正常地编译文件a.u了。

需要注意的是,这里的c需要用单引号扩起来。当编译扩展名不是.c的C程序时,需要使用-x参数。 bkWSbFIh+KYN8lhqnqT5CkVXyUC4Rbflp9Z9nLoMDPGnEFg9cYNag0JFrVjziklB

点击中间区域
呼出菜单
上一章
目录
下一章
×