- 一、Makefile:用来管理代码的编译和链接
- Makefile的语法
- 编译方法:gcc mian.c fun.c -o a.out
- 目标文件:a.out
- 依赖文件:main.c fun.c
- Makefile的语法
- -I :指定头文件所在位置
- -L :指定使用到的库所在的位置
- 语法规则:
- 目标文件:依赖文件
- 编译方法
- Makefile自定义变量
- OBJ SRC CC为变量名,在用变量里的值时要加$
- Makefile系统变量
- $^:所有依赖
- $<:第一个依赖
- $@:目标文件
- Makefile时间戳
- 在编译代码时,只编译修改后的源文件,其他没有修改的,只进行链接即可
- gcc编译的四个步骤
- 预处理:处理和 # 相关的指令
- gcc -E main.c -o main.i
- 编译:将源程序转换成汇编指令
- gcc -S main.i-o main.s
- 汇编:将汇编指令生成二进制指令
- gcc -c main.s -o main.o
- 链接:实现多文件及函数的链接关系
- gcc main.o -o a.out
- 预处理:处理和 # 相关的指令
- 二、双向链表
- 双向链表与单向链表的区别
- 单向链表只有一个后继指针
- 对于单向链表的某一个节点,只能找到其后的节点,而不能找到之前的节点
- 创建链表对象
- 双向链表与单向链表的区别
- 遍历
- 插入数据
- 头插
- 尾插
- 删除数据
- 头删
- 尾删
- 查找数据
- 修改数据 需要注意的是结构体之间不可以直接比较,需用结构体中的成员作比较
- 销毁链表