[ios] Xcode의 Prefix.pch 파일은 무엇입니까?

많은 개발자들이 다양한 편의 매크로를 Prefix.pch. 하지만 내 질문은 그 Prefix.pch파일 이 무엇인지입니다 .

  • Prefix.pch내에서 해당 파일을 제거 Xcode하면 내 응용 프로그램이 실행됩니까? 아니면 오류가 표시됩니까? 아니면 빌드 중에 충돌이 발생합니까?

  • Prefix.pch파일 없이 애플리케이션을 실행하려면 어떻게해야합니까?



답변

미리 컴파일 된 헤더.

뭔데?

A Prefix.pch는 미리 컴파일 된 헤더입니다. 미리 컴파일 된 헤더는 컴파일 속도를 높이기 위해 고안 되었습니다 . 동일한 헤더 파일을 반복해서 구문 분석하는 대신 이러한 파일은 미리 한 번 구문 분석됩니다.

Xcode

Xcode에서는 “접두사 헤더”에 원하는 헤더 파일 가져 오기를 추가하고 활성화 Precompile Prefix Header하여 미리 컴파일됩니다. 그러나 접두사 헤더의 개념은 사전 컴파일과 다릅니다.

접두사 헤더는 모든 소스 파일의 시작 부분에 암시 적으로 포함됩니다. 각 소스 파일이 추가하는 것과 같습니다.

#import "Prefix.pch"

파일 상단에 있습니다.

그것을 제거합니다.

미리 컴파일 된 헤더를 제거 할 수 있습니다. 이 질문은 아래 링크하는 스레드에서 이미 답변되었습니다. 여기에는 필요한 모든 정보와 유용한 설명이 포함되어 있습니다.

Xcode 프로젝트에서 Prefix.pch 파일을 제거해도됩니까?


답변

Prefix.pch 파일이란 무엇입니까?

.pch는 미리 컴파일 된 헤더입니다.

C 및 C ++ 프로그래밍 언어에서 헤더 파일은 일반적으로 소스 파일에서 컴파일러 지시문을 사용하여 지정된 C 전처리기에 의해 다른 소스 파일에 텍스트가 자동으로 포함될 수있는 파일입니다.

접두사 헤더는 컴파일되어 캐시에 저장되며 컴파일 중에 모든 파일에 자동으로 포함됩니다. 이렇게하면 컴파일 속도가 빨라지고 파일을 사용하는 모든 파일에 import 문을 추가하지 않고도 파일을 포함 할 수 있습니다. 필요하지 않으며 변경할 때마다 실제로 컴파일 속도가 느립니다.

예, .pch 파일없이 프로젝트를 컴파일하고 실행할 수 있습니다.

Xcode에서 대상의 빌드 설정 (Command-Option-E, 빌드 탭)으로 이동하여 Prefix Header (GCC_PRECOMPILE_PREFIX_HEADER)를 선택 취소합니다. 원하는 경우 접두사 헤더 설정 값을 제거 할 수도 있습니다.

또한,

.pch 파일에 매크로를 넣지 마십시오! .pch 파일은 정의에 따라 프로젝트 별 미리 컴파일 된 헤더입니다. 실제로 프로젝트의 맥락을 넘어서 사용해서는 안되며 #includes 및 #imports 외에는 아무것도 포함하지 않아야합니다.

일부 매크로가 있고 헤더간에 공유하려는 경우 자체 헤더 파일 (Common.h 또는 기타)에 붙여넣고 .pch 시작 부분에 #include


답변

접두사 헤더는 컴파일되어 캐시에 저장되며 컴파일 중에 모든 파일에 자동으로 포함됩니다. 이렇게하면 컴파일 속도가 빨라지고 파일을 사용하는 모든 파일에 import 문을 추가하지 않고도 파일을 포함 할 수 있습니다. 필요하지 않으며 변경할 때마다 실제로 컴파일 속도가 느립니다.

일반적으로 .pch파일 이름 지정 형식은yourProjectName-Prefix.pch


답변

역사:

#include => #import => .pch

#include 대 #import

미리 컴파일 된 헤더-prefix.pch

#includevs @import에는 단점이 있습니다 . 컴파일러 가 가져온 파일 수 만큼 구문 분석하고 컴파일해야하기 때문에 빌드 시간이 느립니다.h .

Precompiled header file - .pch-공통 헤더를 수집합니다. 이 파일이 미리 컴파일 된 파일 인 경우 빌드 시간을 단축하는 소스 파일에서 사용할 수 있습니다.

Prefix.pch샘플을 살펴 보겠습니다 .

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif

.pch파일 을 추가하려면 다음으로 이동하십시오 Build Settings.

여기에 이미지 설명 입력

개발자는이를 .pch지원하기 위해 추가 비용을 부과 하는 파일 을 관리 해야합니다.

다음 단계는 @import[정보]입니다.


답변