2015년 9월 8일 화요일

C언어에서의 inline 함수의 제약조건 몇가지

C언어에서의 inline 함수의 제약조건 몇가지
인용:
1. inline 함수의 재귀적인 호출 불가. 
2. 분기관련 명령중에서 일부의 경우 사용할수 없음. (예: switch, goto, for, while등...) 
3. static 변수를 사용할수 없음. 
4. 하나의 문맥(수식)에서 2회이상의 사용에 제약이 있음. 
5. 호출하는 위치보다 상위에 inline 함수가 명시되지 않을경우 제약이 있음. 
6. 함수포인터에 주소를 대입하는데 제약이 있음.


이때 제약이 발생하면 컴파일러는 해당 inline함수를 일반 함수로 컴파일한다.

위의 조건이 항상 유효하다고 볼 수는 없으며 컴파일러의 똑똑한 처리기능에 따라서 이를 극복할 수 있는 경우도 있다.

댓글 없음:

댓글 쓰기