gpt4 book ai didi

SCons 能否跟踪链接依赖项?

转载 作者:太空宇宙 更新时间:2023-11-04 02:55:11 26 4
gpt4 key购买 nike

我目前正在开发一个 C 项目,其中包含一个主要可执行文件和一个用于每个单元测试的可执行文件。在 SConstruct 文件中,我为每个可执行文件指定了依赖关系,例如

env.Program(['Main.c', 'Foo.c', 'Bar.c', 'Baz.c', ...])
env.Program(['FooTest.c', 'Foo.c', 'Baz.c', ...])
env.Program(['BarTest.c', 'Bar.c', 'Baz.c', ...])
...

然而,这很容易出错且不够优雅,因为构建工具(在本例中为 SCons)也可以跟踪依赖项。如何改进我的构建脚本?

最佳答案

您需要的是某种工具1)查看您包含的标题2) 根据头文件确定哪些源文件需要构建3) 冲洗并重复您刚刚添加的所有源文件

一旦完成,它就必须查看它生成的树,并尝试将其中的一些压缩到合理的库中,假设您还没有这样做(并查看这两个问题的基调,即练习似乎被视为学术性的,而不是良好软件开发的标准部分)。

一个工具可能有一些意义,上面写着“你已经包含了标题 A/B.h,所以你需要在你的链接行中使用 libA”,但即使这样也会有很多陷阱,这取决于不同的人构建的方式并链接他们的库。

但是您问的是如何定义编写构建脚本的构建脚本。这是您应该为自己做的事情。

关于SCons 能否跟踪链接依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18559213/

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