【发布时间】:2010-07-09 01:29:09
【问题描述】:
我必须修改一些开源代码才能在 C 项目中使用。我不想从修改后的代码构建一个库,而是从我自己的源代码与修改后的开源代码相结合来编译和构建一个可执行文件。目标是拥有一个可以分发的独立包。我可以使用 GNU 构建工具让它正常工作,并成功构建了我的可执行文件。
现在我想减少我正在构建和链接的代码量。有没有一种简单的方法可以确定我实际需要编译哪些开源文件?比如说,开源包中有 40 个 .c 文件。我猜我的代码只使用(或导致使用)这些文件中的 20 个。目前我正在编译所有这些并将所有内容都扔给链接器。必须有一种聪明(且简单?)的方法来确定我真正需要哪些,对吧?
如果有帮助,我很乐意提供更多详细信息。提前致谢。
【问题讨论】:
-
这样做的目的是什么?链接器已自动删除未使用的代码。只是为了让您的构建更快吗?
-
我希望我的包裹更紧凑(没有双关语!)。最终我将分发此代码并希望删除不必要的文件。
标签: c linker compilation