同时使用__attribute__((pure))和静态内联有任何好处吗?

问题描述 投票:0回答:1

我正在优化c程序,我想知道在同一函数声明中同时使用__attribute__ ((pure))static inline是否有意义?

c performance gcc compiler-optimization
1个回答
0
投票

所有三个属性都相互正交:

  • [static说该函数未在编译单元外部使用,因此不会导出,也不会污染外部名称空间]
  • [inline增加了内联函数的机会]
  • [pure告诉编译器该函数没有副作用,因此,如果内联失败,编译器仍将能够更加积极地优化围绕函数调用的代码]]
  • 因此它们都不能替代另一个,应该同时使用。

© www.soinside.com 2019 - 2024. All rights reserved.