linux系统中项目工程中的多文件管理(makfile)
文章目录
- linux系统中项目工程中的多文件管理
- 一、.c文件和.h文件存储代码的区别
- 二. 全局变量的使用
- 三、Makefile
- makefile基本语法
- Makefile中的变量:
- 1. 自定义变量
- 2. 引用变量
- 3. 变量赋值
- 4. 系统变量
- 5. 伪指令
- 6. 多文件夹编译:
linux系统中项目工程中的多文件管理
一、.c文件和.h文件存储代码的区别
二. 全局变量的使用
- 在源文件中定义全局变量;
- 如果只是在定义该全局变量的文件中使用该全局变量,可以不声明;
- 如果要在一个外部的源文件中使用该全局变量,则该变量必须被声明;
- 在对应的头文件中加extern关键字声明,声明全局变量不能初始化。
三、Makefile
makefile基本语法
作用:管理代码工程的编译和链接。由make工具进行解释。实现一键化工程的编译和链接。
注意:文件名只能是makefile和Makefile
语法规则:
目标文件:依赖文件 编译规则(gcc main.c sum.c......)目标文件:a.out
依赖文件:生成目标依赖的源文件(main.c sum.c sub.c …)
编译规则:gcc main.c sum.c …
make 指令一键编译链接。
脚本注释代码用#
Makefile中的变量:
1. 自定义变量
不用提前定义,随用随定义并为其赋值,一个变量中可以有多个值。
2. 引用变量
$表示引用变量中的值。
3. 变量赋值
=:给变量赋值;+=:在原变量值的基础上增加这个值;?=:若变量内有值则保持原值,若变量之前没有赋值,则赋此值。
4. 系统变量
可以直接使用$@:表示目标文件$^:表示所有的依赖文件$<:表示第一个依赖文件
5. 伪指令
语法:c 指令名称: 操作
调用:c make 指令名称
6. 多文件夹编译:
语法规则:c 目标文件:依赖文件 编译规则(gcc main.c sub.c ... -I 头 文件路径 -L库文件路径)