2011-03-29 103 views
1

什么是以下一种警告获取内联失败的gcc编译时警告

 inlining failed to while calling the function: The code size may grow. 

的原因,当函数是静态inline.Following是一种在头文件中定义的功能。我如何摆脱上面提到的警告。

 static __inline___ getSomething(){ 
     return something; 
     } 

编辑

是的,我试图消除inline,但我得到以下警告

 function getSomething defined but not used. 

有什么办法删除这些警告?

[编辑]

-g -Wno-unused -g -ansi -pedantic -Wall -Wshadow -Wpointer-arith -Wwrite-strings 
+0

我想这是gcc抱怨;你还在使用任何编译时优化标志吗? – user237419 2011-03-29 13:32:10

+1

看到了你的编辑;你可以安全地删除函数声明和代码:) – user237419 2011-03-29 13:33:42

+0

是的,我没有删除它。仍然程序成功运行。是否因为该功能未被使用? – thetna 2011-03-29 13:40:22

回答

1

卸下关键字。编译器一般都足够聪明,可以知道何时进行内联,除非您正在进行详细的分析并更好地了解,否则试图强制执行它是没有必要的。

0

该功能是否真的没有使用?可能它应该完全被删除?