相关疑难解决方法(0)

GCC:-O3和-Os之间的差异

我对GCC -O3标志非常熟悉,但是它与-Os有何不同,在哪种情况下我们应该优先选择其他?

c c++ compiler-construction gcc g++

25
推荐指数
3
解决办法
4万
查看次数

链接时优化和内联

根据我的经验,有许多代码明确使用内联函数,这需要权衡:

  1. 代码变得不那么简洁,而且可维护性稍差.
  2. 有时,内联可以大大提高运行时性能.
  3. 内联是在一个固定的时间点决定的,可能没有对其用途的非常好的预知,或者没有考虑所有(未来)周围环境.

问题是:链接时优化(例如,在GCC中)是否呈现手动内联,例如,在C99中声明一个"内联"函数并提供一个实现,已经过时了?我们是否真的不需要考虑自己内联大多数函数?那些总是从内联中受益的函数呢,例如deg_to_rad(x)?

澄清:我不是在考虑同一个翻译单元中的函数,而是考虑逻辑上应该存在于不同翻译单元中的函数.

更新:我经常看到反对"内联",并建议过时.但是,就个人而言,我确实经常看到明确的内联函数:作为类体中定义的函数.

c c++ optimization gcc

15
推荐指数
4
解决办法
8083
查看次数

标签 统计

c ×2

c++ ×2

gcc ×2

compiler-construction ×1

g++ ×1

optimization ×1