J_Log
반응형
CUDA_CHECK를 함수가 아닌 매크로로 만든 이유
IT/C++ 2024. 9. 5. 23:34

CUDA_CHECK를 함수가 아닌 매크로로 만든 이유는 매크로의 고유한 특성을 활용하기 위해서입니다. 주요 이유는 다음과 같습니다:1. 파일명과 라인 번호 (__FILE__ 및 __LINE__):매크로는 호출된 위치의 파일명(__FILE__)과 라인 번호(__LINE__)를 코드에 삽입할 수 있습니다. 이를 통해 오류가 발생한 정확한 위치를 출력할 수 있습니다.함수로 구현할 경우, 호출된 위치가 아닌 함수 내부의 위치가 반환되기 때문에, 파일명과 라인 번호를 정확하게 제공하기 어렵습니다.2. 인라인 성능 최적화:매크로는 단순히 텍스트 대체로 처리되므로, 함수 호출 오버헤드가 없습니다. 작은 코드 블록에서는 성능상의 이점이 있을 수 있습니다.함수 호출 시 발생하는 스택 프레임 설정 및 해제 등의 오버헤드를..

반응형