小白学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相关知识。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库