차이점 이해: PRETTY_FUNCTION__, __FUNCTION__ 및 __func
프로그래밍에서 현재 함수에 대한 정보에 액세스하면 디버깅, 로깅 및 기타 목적에 유용합니다. C와 C에서 일반적으로 사용되는 세 가지 식별자(__PRETTY_FUNCTION__, __FUNCTION__ 및 __func__)가 이 기능을 제공합니다. 각각은 이해할 만한 고유한 특성을 가지고 있습니다.
__func__: C99의 표준 식별자
C99에 정의된 func는 암시적으로 선언된 식별자입니다. 사용되는 함수의 이름을 포함하는 문자 배열로 확장되는 식별자입니다. 선언된 식별자인 func는 전처리기 매크로와 다르게 동작합니다.
__FUNCTION__: 사전 표준 확장
다음과 같은 C 컴파일러에서 널리 지원됩니다. gcc 및 Visual C, FUNCTION은 엄밀히 말하면 C의 일부가 아닙니다. 기준. 일반적으로 __func__과 유사하게 동작하지만 컴파일러 간에 일부 불일치가 존재할 수 있습니다.
__PRETTY_FUNCTION__: GCC Extension
PRETTY_FUNCTION은 gcc에만 해당됩니다. __FUNCTION__과 유사한 확장명입니다. 그러나 C 함수의 경우 함수의 시그니처가 포함된 "예쁜" 이름을 반환합니다.
올바른 식별자 선택
사용할 식별자를 선택하는 것은 주로 다음에 따라 다릅니다. 지원 및 기능 요구 사항:
특정 컴파일러 문서를 참조하는 것도 중요합니다. FUNCTION 및 __PRETTY_FUNCTION__과 같은 비표준 확장. 예를 들어 Visual C는 __FUNCSIG__와 같은 유사한 확장을 제공합니다.
위 내용은 `__PRETTY_FUNCTION__`, `__FUNCTION__`, `__func__`의 차이점은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!