C언어에서의 inline 함수의 제약조건 몇가지
- 작성자
- 고친과정
2007년 6월 2일 : 처음씀
제약조건
- inline 함수의 재귀적인 호출 불가.
- 분기관련 명령중에서 일부의 경우 사용할수 없음. (예: switch, goto, for, while등...)
- static 변수를 사용할수 없음.
- 하나의 문맥(수식)에서 2회이상의 사용에 제약이 있음.
- 호출하는 위치보다 상위에 inline 함수가 명시되지 않을경우 제약이 있음.
- 함수포인터에 주소를 대입하는데 제약이 있음.
- 제약이 발생하면 컴파일러는 해당 inline함수를 일반 함수로 컴파일한다.
위의 조건이 항상 유효하다고 볼수는 없으며 컴파일러의 똑똑한 처리기능에 따라서 이를 극복할수 있는 경우도 있다.