百度
360搜索
搜狗搜索

linux怎么只编译修改的文件详细介绍

在 Linux 里,若要仅编译修改过的文件,可借助不同的工具与方法达成此目的,下面为你介绍几种常见的方式。

1. 使用
make工具

make是一款广泛使用的编译自动化工具,它依靠 Makefile 文件来明确文件之间的依赖关系以及编译规则。make会对比文件的修改时间,仅对修改过的文件进行重新编译。

步骤

  1. 编写 Makefile

makefile

CC gcc

CFLAGS -Wall -g

TARGET myprogram

SRCS main.c func1.c func2.c

OBJS SRCS.c.o

TARGET

(TARGET) OBJS

CC CFLAGS -o

%.c

CC CFLAGS -c -o

rm -f OBJS TARGET

  1. 运行make命令:在终端中输入makemake会自动检查文件的修改时间,仅对修改过的源文件进行重新编译。

bash

2. 使用
cmake工具

cmake是一个跨平台的编译配置工具,它能够生成不同平台下的 Makefile 或其他编译脚本。cmake结合make使用,同样可以只编译修改过的文件。

步骤

  1. 编写 CMakeLists.txt

cmake

MyProject

myprogram main.c func1.c func2.c

  1. 生成 Makefile

bash

 build

build

cmake

  1. 编译项目

bash

之后每次修改源文件后,只需在build目录下再次运行make命令,make会根据文件修改时间仅编译修改过的文件。

3. 使用
ninja构建系统

ninja是一个快速的构建系统,它通常和cmake结合使用,相比传统的makeninja在处理大量文件时速度更快。

步骤

  1. 编写 CMakeLists.txt:与使用cmake时相同。
  2. 生成 Ninja 构建文件

bash

 build

build

cmake Ninja

  1. 编译项目

bash

ninja




912ninja

每次修改源文件后,只需在build目录下再次运行ninja命令,ninja会只编译修改过的文件。

阅读更多 >>>  linux有创建权限吗

文章数据信息:

本文主要探讨:"linux怎么只编译修改的文件", 浏览人数已经达到29次, 首屏加载时间:2.244 秒。