我正在构建一个使用其他CPP代码的RT CPP程序 我无法更改重用的代码!
我需要强制编译器内联几个方法。
我的问题很明显,我无法在代码中添加always_inline
并感到高兴。
我正与Windriver WorkBench 3.3
VxWorks 6.9
注意:我可以随意更改环境。
有什么想法吗?
编辑(解释更大的图片):
目前,我们“HiJack”文件以内联函数,
但这并不好,因为我们错过了从lib存储库合并更改的机会。
我认为我们可以使用一个环境来指定编译器的内联决策,并避免“Hijack”状态,能够合并库中的更改等等。
注意:不同的项目需要内联不同的功能。
答案 0 :(得分:1)
不是劫持文件,为什么不分支它,并将内联指令添加到您的版本?这样,您可以定期针对最新版本重新定位,并合并到最新的库中。
另外,将更改作为补丁提取,并将补丁作为构建过程的一部分应用。这样至少你不必手动编辑它。
或者,使always_inline成为条件,以便您可以在编译时打开它。这样,其他用户就不会受到影响,这应该允许您在库中进行更改
我不知道dev环境中的任何选项强制它,尽管你可能想调整-finline-limit,并且可能关闭了optimize-for-space。
但是你确认函数调用的开销实际上有所不同吗?