[Unreal Engine] Macro와 Inline함수의 차이점

민혁 공부방·2024년 11월 12일

매크로(Macro)인라인 함수(Inline Function)는 둘 다 코드에서 반복적으로 사용되는 코드 블록을 재사용하기 위한 방법으로 사용되지만 약간의 차이가있다.

매크로(Macro)
매크로는 컴파일러가 소스 코드를 전처리하는 단계에서 문자열 치환 방식으로 동작하는 코드이다.

  • #define 지시어를 사용하여 정의되며, 매크로는 직접 치환된다는 특징이 있다.

장점

  • 문자열 치환 방식
  • 타입을 검사하지 않음
  • 코드의 중복을 줄일 수 있다.
  • 조건부 컴파일

단점

  • 디버깅이 어렵다.
  • 실행시점에 오류를 찾을 수 없다.

인라인 함수(Inline Function)
인라인 함수는 컴파일러가 함수 호출을 실제 함수 호출 대신 함수 본문으로 대체하려고 시도하는 함수이다.
함수 호출을 인라인화(inlining) 하여, 함수 호출에 드는 오버헤드를 줄이는 것이 목적입니다.

장점

  • 오버헤드를 줄인다.
  • 안정적인 타입
  • 디버깅이 쉽다.

단점

  • 코드 크기 증가
  • 이로인해, 코드의 양이 많아지게되면 디버깅이 "어려워지게 된다"
profile
한번 더 복습하기 위한 개인 공간입니다!

0개의 댓글