Ubuntu16.04下C语言编译及makefile应用

发布时间 2023-09-15 23:25:59作者: jppp

一、不同环境下C语言的编译

在Ubuntu16.04下:

step1:编写main1.c

主程序用nano编好,下面为主程序展示

注意:1、主程序中函数的声明

step2:编写子程序

 

step3:用gcc命令编译

采用多个文件一起编译,输出放在main1中

 

gcc的常见用法:-c 只生成目标文件不进行连接,用于对目标文件的分别编译

-o file 将输出放在文件file中

step4:运行结果

/file :用来执行文件

 

在Win10下(DEV-cpp编译运行):

step1:主函数编写

step2:子函数编写

 

step3:编译运行

 

 

二、Makefile方式进行编译主程序

假设:上述在Ubuntu16.04环境下的程序要改动,是否需要将所有文件都重新编译一遍,麻烦程度如何,这时,Linux为我们提供了强大的维护工具——make,开发人员需要自己去定义makefile,makefile中定义各文件之间的依赖关系,在此基础上执行相应操作。下面将介绍一下make与makefile的具体用法。

step1:创建函数

这里我先把函数赋值注释掉

step2:创建makefile文件

已经用nano创好:

 

这里就要谈一下makefile的规则了,其通用形式如下:

目标文件:[相依文件]

<tab>命令[注释]

<tab>命令[注释]

...

step3:输入make命令进行调用并执行

 

观察结果为-nan,这时我要改代码

step4:改去掉注释,再次调用make并执行

这时仅有一条make命令就完成了编译,并输出正确结果。

总结:

在ubuntu16.04和win10环境下,都能用C语言进行编译,在ubuntu16.04环境下,可用gcc对c语言进行编译,但对于多个文件的维护工作可以由make和makefile来完成。熟练掌握了Ubuntu常用命令,提高了在这方面的编程能力与思维能力