收集实际使用的C ++代码行

时间:2014-01-15 23:37:59

标签: c++ g++ stripping

是否有可能(最有可能通过使用gcc / g ++本身?)来确定单个编译包含的所有文件的哪些代码行实际使用?

我使用了很多第三方包含,并希望将它们剥离到实际使用的代码以加快编译速度。

也许g ++可以通过它的许多选项的某种组合来输出它?

1 个答案:

答案 0 :(得分:1)

我能提供的最佳建议是将大量的包含文件拆分成更小的部分。这允许开发人员仅包括解析符号所需的文件。

我最喜欢的例子是windows.h。无论您是否需要,大型包含文件都会声明整个Windows API。如果您只想要API来处理文件,那么您也可以获得拨号框的API。

像怪物这样的商店包含文件,因为它们只需要在其来源中包含一个文件。一个缺点是每个源文件现在都依赖于大型包含文件。如果我更改其中一个包含文件,将重建整个系统,而不是依赖于我更改的头文件的几个模块。

在我的项目中,一次只编译几个文件;通常小于5.这使得平均周转时间(修改然后构建)非常快。整个系统由服务器或开发人员在一夜之间重建。无需重建未更改的源文件。

因此,拆分模块,这样每次都不会重建系统。