HAVE_UNISTD_H 매크로는 어디에 정의되어 있나요?

HAVE_UNISTD_H 매크로는 어디에 정의되어 있나요?
#ifdef HAVE_UNISTD_H
#include<unistd.h>
#else
extern int getpid(void)
#endif /* HAVE_UNISTD_H */

헤더 파일이 사용 가능한지 확인하는 것이 아이디어라고 생각합니다 <unistd.h>. 그렇지 않다면 extern int getpid(void)
이것이 매우 기본적인 것임을 압니다. 하지만 인터넷을 통해 좋은 결과를 찾지 못했습니다. HAVE_UNISTD_H 매크로는 무엇을 의미합니까?

답변1

이것이 정확히 의미하는 바는: 가능하다면 HAVE_UNISTD_H정의되어야 한다는 것입니다. unistd.h예를 들어, 이는 Autoconf에 의해 설정됩니다.헤더 매크로 정의.

이는 일부 외부 도구가 다음을 확인한다고 가정합니다.unistd.h config.h이 사실을 저장하기 위해 다른 헤더 파일( 일반적으로 Autoconf 사용)을 사용하고 업데이트할 수 있습니다. C 컴파일러 자체에서는 이를 설정하지 않습니다.

관련 정보