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