目录
1.背景
Linux 开发过程中,日常的工作闭环:修改、编译、调试; 一顿分析后,修改、编译、调试。还有问题;修改、编译、调试; 直到有满意的结果,才会跳出这个闭环。
修改: 对源码的理解 == 换言之,C/C++ 语法&数据结构的理解、硬件工作原理或实现需求的算法理解。
调试:Linux 下各种调试手段打印log、程序的运行地址空间、查看函数堆栈back stack 等,帮助理解不同场景下程序实际的运行情况 。
编译:经常被ignore ,其实make complie program 过程如果掌握了,对于系统OS 工程的代码组织结构熟悉,也是从另外一个方面来熟悉源码的工作方法。
2. 主Makefile 的解读
来源:GUN make 文档http://www.gnu.org/software/make/
makefile 是提供make工具如何重新编译工程信息的data base。命令make 本身不会执行任何的编译命令,而是通过解析Makefile 文件,里面Makefile 文件来执行需要的shell command 或py 脚本程序。
Makefile 的rule如下
target:prerequisite
[tab] recipe