gpt4 book ai didi

编译脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:49:29 25 4
gpt4 key购买 nike

我想知道一种编译使用许多文件的程序的好方法,并且我想避免重新编译未修改的文件。

它适用于 Linux,我正在寻找与 Makefile 不同的东西。

Makefile 有一些问题:
写起来很长,只要我创建新文件就可以更改; C/C++使用头文件。
如果 .c 文件包含一个 .h 文件,而该 .h 文件包含另一个已修改的 .h 文件,则 Makefile 不会重新编译该文件。它需要复杂的语法。
Makefile使用制表符,不好,因为我用tab键缩进(它插入了4个空格字符)。

举个例子,我原来的编译脚本是:

gcc file1.c -c -flags1
gcc file2.c -c -flags2
gcc file3.c file4.c -c -flags3
gcc file1.o file2.o file3.o file4.o -o a.out

我想避免用简单的方法重新编译不需要的东西。

最佳答案

更新:这篇文章中提到的 Make 教程已不存在,这是一个非常好的介绍,真是太可惜了。

Makefiles 可以是无缝的,你可以让它纯粹根据项目目录中的文件自动编译你的项目。看这个Make Tutorial .完成该教程后,您将学会创建动态 Makefile 脚本,这些脚本仅编译已修改的内容,并遵循依赖关系树。

但如果您想进一步了解魔法,请查看 DevKitPro makefiles,他们甚至使用我只能假定是使用 grep 来弄清楚header dependencies。随意为您自己的项目修改它。

关于编译脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8691896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com