加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 使用boost库加快编译/链接时间

发布时间:2020-12-16 05:44:01 所属栏目:百科 来源:网络整理
导读:我正在使用 Boost Program Options,它需要相当长的时间(10秒甚至更多)来编译非常小的C代码.编译没有boost库需要1秒钟的时间. 任何想法如何通过boost库提高编译/链接时间?它是跨平台,所以我需要使用Mac OS X / Linux / PC编译代码. 解决方法 没有什么可以做
我正在使用 Boost Program Options,它需要相当长的时间(10秒甚至更多)来编译非常小的C代码.编译没有boost库需要1秒钟的时间.

任何想法如何通过boost库提高编译/链接时间?它是跨平台,所以我需要使用Mac OS X / Linux / PC编译代码.

解决方法

没有什么可以做超越通常的技巧:

>最小化依赖关系:仅引用您真正需要的Boost标题,并尽可能使用特定的标头(许多库具有单个“主”标题,例如boost / thread.hpp,还包括具有特定标题的子目录,如boost /thread/shared_mutex.hpp)
>在可能的情况下,依靠前向声明而不是包括整个标题,
>如果可能,仅在.cpp文件中包含标题.如果将其包含在标题中,则必须在每次包含该标题的翻译单元被编译时进行编译.作为一般的经验法则,尽量减少标题中的代码量,
>所有主要编译器都支持预编译头.用这些减少编译时间,
>实验unity builds.这可能是也可能不是你的情况的优势.

最后,但并非最不重要的是,最后一个选择是不要使用那些特定的Boost库.

我有时在早期使用某些Boost库,出于方便,如果/当编译时间太差时,我开始考虑哪些库编译成本昂贵,哪些库可以被相对简单的代码替代.通常情况下,Boost将受到如此笼统的要求的束缚.如果您不需要在8岁的编译器上工作的东西,或者不需要像这么多不同类型的工作,那么您可以编写一个简单的替换工具,对您而言几乎没有时间编译.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读