C, C++

C/C++] always_inline

slowcloud_ 2026. 3. 6. 21:40

gcc에서 __attribute__((always_inline))을 작성하여, 컴파일러에게 인라인 함수를 권고하는 대신 강제하도록 할 수 있다.

 

https://slowcloud.tistory.com/34

 

템플릿 메타 프로그래밍

템플릿으로 typename을 활용하여 제네릭처럼 활용하는 경우가 많지만, 일반적인 자료형을 활용하여 메타프로그래밍을 진행할 수 있다. template int factorial() { if constexpr(n () * n; }}위와 같이 단순히 상

slowcloud.tistory.com

상단의 글에서 작성한 코드를 그대로 활용하되, inline을 강제하도록 작성했다.

우측 어셈블리 코드를 보면, 재귀호출을 하는 대신 한 함수 안에 기능이 모두 구현되어 있는 것을 확인할 수 있다.