저는 몇 년 동안 프로그래머입니다.코드에 .h 파일을 많이 포함합니다.
필자는 항상 .c 파일에 필요한 .h 파일 만 포함시켜야한다고 말했습니다. 아무것도 더, 아무것도 덜.
하지만 물어 봅시다 - 왜?
오늘의 컴파일러를 사용하여 프로젝트의 전체 파일을 포함 할 수 있으며 컴파일 시간에 큰 영향을 미치지 않습니다.
많은 정의, 매크로 및 전처리 명령을 포함하는 OS .h 파일을 포함하는 것에 대해 이야기하는 것이 아닙니다.
"MyProjectIncludes.h"하나만 포함하십시오. 그것은 오직 말할 것이다 :
#pragma once
#include "module1.h"
#include "module2.h"
// and so on for all of the modules in the project
당신은 무엇을 말합니까?
* "프로젝트의 전체 파일을 포함 할 수 있으며 컴파일 시간에 큰 영향을 미치지 않습니다."* 그런 다음 매우 큰 코드 기반으로 작업하지 않습니다. – CoryKramer
컴파일 시간뿐만 아니라 건물 시간도 고려하십시오. 빌드 프로세스는 컴파일이 필요한 모듈과 그렇지 않은 모듈 간의 관계를 결정합니다. 따라서 변경되지 않고 변경된 파일에 의존하지 않는 모듈을 컴파일하는 것은 시간과 자원을 낭비하는 것입니다. –
이것은 미리 컴파일 된 헤더 뒤에있는 이론입니다. 헤더의 큰 공을 컴파일 한 다음 다시 컴파일하지 않고 모든 소스 파일에 결과를 읽습니다. –