2010-03-07 91 views
3

在64位Linux机器编译后,我收到内联警告。编译器是:内联警告

gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1 

的警告是:

warning: inlining failed : call is unlikely and code size would grow 
warning: called from here 
warning: inlining failed: call is unlikely and code size would grow 
warning: called from here 
warning: inlining failed: call is unlikely and code size would grow 
warning: called from here 
warning: inlining failed: call is unlikely and code size would grow 

我搜索一下与-Winline选项编译。但还找不到解决方案。我正在寻找摆脱它的方法。如何摆脱它?

slightly edited on 9th May 2010 

我已经发布了上面我很久以前面对的问题。我仍然在寻找解决方案。我尝试从函数中删除所有内联。这导致未使用的代码定义像许多功能:

warning: function defined but not used 

我想去除inline_甚至降低了代码的性能(速度)。请问任何人都可以为上述问题提出一些建议吗?

是否有任何优化方法,以便可以不降低性能,并且也可以删除此警告。

回答

1

编译器认为内联这些函数是一个坏主意。

内嵌关键字只是一个建议,编译器不必紧随其后。据推测,编译器会警告你,它决定忽略内嵌关键字。

+0

有什么办法摆脱它吗?或者只是我们不得不忽视它,或者有什么方法抑制这些警告?我不确定抑制警告有多聪明。 – thetna 2010-03-07 00:22:27

+0

建议您从代码 – 2011-03-29 12:56:56

+0

中删除内联尝试-Wno-inline – 2012-06-26 04:39:05