小白学makefile之一

makefile的重要不言自明,不懂的话可以去网上搜下资料,这里不再讲述。以下小白开始学习makefile:

 

某认为买几本基础的编程书籍挺重要。想要学好linux尤其是linux下编程的话还是需要下点本钱的,(喂,老兄,这身打扮就说你是孙悟空喽,下足本钱嘛,头发都开叉了,有点专业精神!@#¥——大话西游·菩提游客)这样才有专业精神,书籍很重要,可以帮我们节约很多的时间。要注意时间就是金钱,节约时间就是节约金钱倒是次要,提高效率才是真的:)

  这里不是说网上资料不全(虽然有时候确实不全),浪费时间的情况包括:1 搜索关键字不准确,定位百转千回;2 网络状况不稳定,比如有时候谷歌访问受限;3 内容资料专业但不系统。某比较喜欢博文,论坛偶尔也看,但从回答中筛选有用的信息也需要时间。一本好书能大概提示你所需要的东西。

  某知道的三本书都有简单介绍makefile:《Linux程序设计》《GNU/LINUX环境编程(第二版)》《GNU/LINUX编程指南(第二版)》

 

书里大同小异都这样讲的

make 命令会自动查找当前目录下的Makefile(注意首字母M是大写的)文件。然后执行Makefile里的脚本。学问就在于Makefile脚本的手法,makefile的威力也在于此。

最简单的一个Makefile文件:

main:
    gcc main.c

第一行的main是目标,或者可理解为任务名称。冒号后边跟随的第二行就是编译命令。

假如我们当前目录下只有 main.c 和 Makefile文件

main.c如下(经典的,简单的hello world)

#include <stdio.h>

int
main(int argc, char** argv)
{
    printf("hello world!\n");
    return 0;
}

那么,makefile就可以工作了。

$ make

相当于执行了一遍gcc main.c

自动生成了可执行文件a.out(如果不指定生成文件的名字,生成的缺省文件名是a.out,至于为什么是a.out而不是其他名字,《C专家编程》有些介绍)。

 

这就是简单的makefile用例,以后某会进阶学习makefile相关知识。

posted on   jogger  阅读(2067)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
< 2012年5月 >
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9

导航

统计

点击右上角即可分享
微信分享提示