程序编译工具gcc和make

gcc编译C源程序

在Ubuntu环境下,使用如下指令安装gcc工具:

sudo apt-get  install gcc

使用如下指令查看版本号:

gcc -v

 gcc在编译源文件时,会依次调用预处理器,编译器,汇编器,链接器,最后生成可执行的二进制文件。根据需要,我们也可以通过gcc的编译参数来控制程序的编译过程。

-E:只对C源文件进行预处理,不编译。

-S:只编译到汇编文件,不再汇编。

-c:只编译生成目标文件,不进行链接。

-o:指令输出的可执行文件名。

-I:大写的I,在编译时指定头文件的路径

-l:小写的l(like首字母),指定程序使用的函数库

-L:大写的L(like首字母),指定函数库的路径

使用make编译程序

make编译工具的使用场景:

在一个多文件的项目中,如果C源文件过多,如编译Linux内核源码,大概有30 000多个C源文件,使用gcc编译显然不合适了。 针对多文件编程,使用make编译工具可以帮助我们提高编程的编译效率。

make是如何编译C文件的?

make在编译程序时,要依赖一个叫作Makefile的文件:生成一个可执行文件所依赖的所有C源文件都在这个Makefile文件中指定。

Makefile格式:

目标文件:依赖文件

<TAB键>  编译命令

make的使用示例

在一个项目中,有main.c和sum.c

main.c代码如下:

sum.c的代码如下:

编写Makefile文件如下:

Makefile文件中使用。PHONY声明的目标是一个伪目标,伪目标并不是一个真正的文件名,可以看作一个标签。伪目标比较特殊了,一般无依赖,主要用来无条件执行一些命令,如清除编译结果和中间临时文件。

将Makefile文件放置在main.c和sum.c的同一目录下进行使用make指令进行编译了。

运行结果:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值