三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

linux系统中项目工程中的多文件管理(makfile)

linux系统中项目工程中的多文件管理(makfile)

文章目录

  • linux系统中项目工程中的多文件管理
    • 一、.c文件和.h文件存储代码的区别
    • 二. 全局变量的使用
    • 三、Makefile
      • makefile基本语法
      • Makefile中的变量:
      • 1. 自定义变量
      • 2. 引用变量
      • 3. 变量赋值
      • 4. 系统变量
      • 5. 伪指令
      • 6. 多文件夹编译:

linux系统中项目工程中的多文件管理

一、.c文件和.h文件存储代码的区别

二. 全局变量的使用

  1. 在源文件中定义全局变量;
  2. 如果只是在定义该全局变量的文件中使用该全局变量,可以不声明;
  3. 如果要在一个外部的源文件中使用该全局变量,则该变量必须被声明;
  4. 在对应的头文件中加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库文件路径)

← 返回列表