2011-03-29 1 views
1

다음과 같은 경고의 이유는 무엇입니까?gcc 컴파일 중 인라이닝 오류 경고 실패

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

함수가 정적 인라인 인 경우. 다음은 헤더 파일에 정의 된 함수의 일종입니다. 위에서 언급 한 경고를 어떻게 없앨 수 있습니까?

  static __inline___ getSomething(){ 
     return something; 
     } 

EDIT

inline을 제거하려고했지만 다음과 같은 경고가 표시됩니다.

  function getSomething defined but not used. 

경고를 모두 제거 할 수있는 방법이 있습니까?

[편집]

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

나는 이것이 불평하는 gcc라고 생각한다; 컴파일 시간 최적화 플래그도 사용하고 있습니까? – user237419

+1

당신의 편집을 보았습니다; 당신은 안전하게 함수 선언과 코드를 제거 할 수 있습니다 :) – user237419

+0

그래, 내가 그것을 제거 않았다. 정지 프로그램이 성공적으로 실행됩니다. 기능이 사용되지 않아서 그런가요? – thetna

답변

1

__inline__ 키워드를 제거합니다. 컴파일러는 일반적으로 인라인 할시기를 알기에 충분히 똑똑합니다. 자세한 프로파일 링을 수행하고 잘 알지 못하면 강제로 시도 할 필요가 없습니다.

0

함수가 실제로 사용되지 않습니까? 모두 제거해야합니까?