【发布时间】:2016-06-22 02:49:25
【问题描述】:
我在 Eclipse 中有一个“标准”项目,其中包含源文件和头文件。尽管项目中的所有源文件都已编译,尽管main.c 不包含这些源文件,但主程序在哪里。
我想要的只是一个编译单元(一个要编译的源文件)和其他要包含的源文件#include "some-folder/some-file.c"directly。不会像现在这样单独编译。
我试图从 构建变量 中删除这些文件的路径,但它们仍然是单独编译的。
请指导我如何实现我想要的。
【问题讨论】:
-
只是出于我个人的好奇,你为什么需要那个?
-
为什么哦,你为什么要那样做?它不会节省太多的构建时间,事实上它几乎是相反的,因为单个源文件中的一点更改将导致整个项目被重新构建,而不仅仅是单个源文件。
-
我也很好奇!我什至不知道这种方法有什么好处。我想这与资源使用优化有关,因为我们正在开发嵌入式应用软件。所以直接的答案是:这是老板的时尚。
-
“资源使用优化”是什么意思?您不会在数据、代码或 bss 段中节省任何空间。它对任何可能的堆使用或任何其他动态资源使用都没有帮助。我唯一看到的是编译器可能会更积极地进行内联,这会使代码更大但速度稍快。
-
@joach 如果您的编译器缺少链接时间优化,它可能会有一些好处。
标签: c++ c eclipse build build-process