나는 github에서 doom3 코드를보고 있었고 특이한 것을 알았습니다. 여러 파일을 하나의 파일 불리는 이들 리브/precompiled.h에만 포함하고이 파일을 가지고는하나의 헤더 파일에 공통 파일을 포함하면 어떤 이점이 있습니까?
...
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <assert.h>
#include <time.h>
#include <ctype.h>
#include <typeinfo>
#include <errno.h>
#include <math.h>
...
및 프로그래밍하는 헤더
#include "../framework/BuildVersion.h"
#include "../framework/BuildDefines.h"
#include "../framework/Licensee.h"
#include "../framework/CmdSystem.h"
#include "../framework/CVarSystem.h"
내가 어떤 좋은 이유가 궁금처럼 여러 가지 다른 헤더 포함 왜냐하면 그게 처음으로 그런 것을 보았 기 때문입니다.
그래서 대부분의 시스템에서 사용되는 헤더를 넣고 변경하면 거의 필요합니다. 전체 재구성 또는 미리 컴파일 된 헤더 만 재 컴파일해야합니까? – ibrabeicker
미리 컴파일 된 헤더에 다시 압축이 필요합니다. 일반적으로 미리 컴파일 된 헤더 파일이 모든 곳에 포함되기 때문에 전체 다시 빌드를 의미합니다. – Stephan
컴파일러가 사전 컴파일을 지원하지 않으면 컴파일 시간이 크게 늘어납니다. 컴파일 속도가 느려지거나 증가하는 여부는 전적으로 헤더 파일을 조정하는지 여부에 달려 있습니다. 그렇게한다면 모든 것이 다시 컴파일되어야하는데 컴파일 시간을 향상시킬 수 있을지는 의문입니다. – Clearer