.h.gch 파일이란 무엇입니까?
최근에 G ++로 프로그램을 만들어야하는 수업 프로젝트가있었습니다.
나는 메이크 파일을 사용했고 어떤 이유로 가끔 .h.gch 파일을 남겼습니다.
때로는 이것이 컴파일에 영향을 미치지 않았지만, 종종 컴파일러가 수정되었거나 의미가없는 문제에 대해 오류를 발생시키는 결과를 낳았습니다.
두 가지 질문이 있습니다.
1) .h.gch 파일이란 무엇이며 어떤 용도로 사용됩니까? 과
2) 청소하지 않으면 왜 그런 문제가 발생합니까?
.gch
파일은 미리 컴파일 된 헤더이다.
A는 경우 .gch
다음을 찾을 수없는 일반적인 헤더 파일이 사용됩니다.
그러나 프로젝트가 미리 컴파일 된 헤더를 생성하도록 설정된 경우 존재하지 않는 헤더를 만들고 다음 빌드에서 사용합니다.
때때로는 *.h.gch
손상되거나 오래된 정보를 포함하므로 해당 파일을 삭제하고 다시 컴파일하면 문제가 해결됩니다.
파일에 대해 알고 싶다면 터미널에 입력하기 만하면됩니다.
file filename
file a.h.gch
제공합니다 :
GCC precompiled header (version 013) for C
GCC 미리 컴파일 된 헤더입니다.
Wikipedia에는 반쯤 괜찮은 설명이 있습니다. http://en.wikipedia.org/wiki/Precompiled_header
a) 미리 컴파일 된 헤더 : http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html
b) .h 파일에서 "캐시 된"정보를 포함하며 각 .h 파일을 변경할 때마다 업데이트해야합니다. 발생하지 않는 경우-프로젝트에 잘못된 종속성이 설정되어 있습니다.
다른 답변은 gch 파일이 무엇인지와 관련하여 완전히 정확합니다. 그러나 컨텍스트 (이 경우 g ++를 사용하는 초보자)가 전부입니다. 이 맥락에서 두 가지 규칙이 있습니다.
절대로 g ++ 컴파일 라인에 .h 파일을 넣지 마십시오. .cpp 파일 만. .h 파일이 실수로 컴파일 된 경우 * .gch 파일을 제거하십시오.
절대로 #include 문에 .cpp 파일을 넣지 마십시오.
규칙 1이 위반되면 어떤 시점에서 질문에 설명 된 문제가 발생합니다. 규칙 2가 깨지면 링커는 곱셈으로 정의 된 기호에 대해 불평 할 것입니다.
참고 URL : https://stackoverflow.com/questions/1241399/what-is-ah-gch-file
'programing tip' 카테고리의 다른 글
문자열의 줄을 반복합니다. (0) | 2020.08.12 |
---|---|
Rmarkdown에 \ newpage를 현명하게 추가하는 방법은 무엇입니까? (0) | 2020.08.12 |
다른 스레드에서 발생한 예외 포착 (0) | 2020.08.12 |
Go에서 fmt.Println ()과 println ()의 차이점은 무엇입니까? (0) | 2020.08.12 |
React Enzyme은 두 번째 (또는 n 번째) 노드를 찾습니다. (0) | 2020.08.12 |