-c出来.o 使用-o出来.bin NB二人组走天下,目标 : 依赖,下一行tab 加命令
感觉时比较块上手的教程,
手写AI
c语言中文网的makefile
c语言中文网的就是按部就班,比较机械,可以做查询使用
静态和动态链接库(linux-share)区别,载入内存时机,静态随程序链接时拷贝过来,库都是二进制版本
c语言中文网动态库静态库概念
静态链接库和动态链接库的作用时机不同,静态链接库会在程序载入内存之前完成所有的链接操作,而动态链接库是在程序载入内存后再进行链接操作。
文章目录
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c5733a3a2d172a11b6537c6192a4b694.png)
2 makefile基础命令:赋值、取变量$()
- 变量赋值有4种方式var = 123, var := 123, var ?= 123, var += 123。其中var := 123常用,var += 123常用
- 取变量值有两种, ( v a r ) , (var), (var),{var}。小括号大括号均可以
- 数据类型只有字符串和字符串数组,空格隔开表示多个元素
- $(function arguments)是调用make内置函数的方法,具体可以参考:http://www.gnu.org/software/make/manual/make.html#Syntax-of-Functions有函数大全。但是常用的其实只有少数两个即可
- 依赖关系定义中,如果代码修改时间比生成的更新/生成不存在时,command会执行。否则只会打印main.o is up to date。这是makefile解决的核心问题
- 依赖关系可以链式的定义,即b依赖a,c依赖b,而make会自动链式的查找并根据时间执行command
- command是shell指令,可以使用$(var)来将变量用到其中。前面加@表示执行执行时不打印原指令内容。否则默认打印指令后再执行指令
- make不写具体生成名称,则会选择依赖关系中的第一项生成
每次都写目标和依赖???
通常,我们的cpp会比较多,总不会每次都写全a.o : a.cpp吧?
通常,我们的cpp会多级目录,总不会每个目录都写Makefile吧?
我不希望生成的a.o和a.cpp在一起,我想统一放到其他位置可以吗?
3标准工程代码makefile c++
makefile 多级目录检索问题,取值和配合shell命令 把所有cpp文件生成对应的.o文件复制到objs文件中
makefile通配定义目标:依赖 cpp->o>bin
报错原因
解决方法 添加 $(dir $@)
makefile生成所有cpp的编译.o文件, 接下来链接所有o文件生成二进制bin文件
完成makefile实例
xiugai
修改子文件的函数,但是不用编译全部,这里没有对main再次编译,节省时间,这就是我们想要 的