헤더 파일의 시작 부분에서 다음과 같은 코드를 보았습니다.
#ifndef HEADERFILE_H
#define HEADERFILE_H
그리고 파일의 끝에는
#endif
이것의 목적은 무엇입니까?
#pragma
가 무엇인지 언급하는 것이 가장 좋습니다 : 컴파일러 관련 기능을 활성화합니다. 하지만 #pragma once
되어 매우 광범위하게 지원, 그것은 비표준입니다.
info cpp
또는 여기 참조 )는 "모든 전 처리기에서 인식되지 않으므로 휴대용 프로그램에서이를 사용할 수 없습니다"라고 말합니다. 그리고 GNU cpp는 일반 및 휴대용 #ifndef
관용구를 최적화하여 만큼 효율적 #pragma once
입니다.
#ifndef HEADERFILE_H
헤더 이름의 구현 네임 스페이스를 위반할 수 있습니다 E
. 로 시작하는 식별자와 E
숫자 또는 대문자는에 예약되어 <errno.h>
있습니다. 나는 제안한다 #ifndef H_HEADERFILE
.