4.27 プリコンパイルヘッダ(PCH)ファイルの作成要件

PCH ファイルは、ヘッダストップポイントとその前にあるコード(主にヘッダファイル)が特定の要件を満たしている場合にのみ生成されます。

ARM コンパイラ 5.05 以降、すべてのプラットフォームでプリコンパイルヘッダ(PCH)ファイルのサポートが廃止される予定です。Windows 8 上の ARM コンパイラでは PCH ファイルをサポートしないことに注意して下さい。
要件は次のとおりです。
  • ヘッダストップポイントがファイルの有効範囲内に存在していること。ヘッダストップポイントは、ヘッダファイルによって設定される未完結の範囲内に含めることはできません。たとえば、以下の場合、PCH ファイルは作成されません。
    // xxx.h
    class A
    {
        // xxx.c
        #include "xxx.h"
        int i;
    }; 
    
  • ヘッダストップポイントが、ヘッダファイル内で開始される宣言内にないこと。また、C++ では、ヘッダストップポイントがリンケージ指定の宣言リストに含まれていないこと。例えば、以下の場合、ヘッダストップポイントは int ですが、新しい宣言の開始位置ではないため、PCH ファイルは作成されません。
    // yyy.h
    static
    // yyy.c
    #include "yyy.h"
    int i; 
    
  • ヘッダストップポイントが、ヘッダファイル内で開始される #if ブロック内または #define 内にないこと。
  • ヘッダストップポイントよりも前に行われる処理でエラーが生成されていないこと。

    PCH ファイルの再利用時には、警告や他の診断情報は再生成されません。
  • 事前定義のマクロ __DATE__ または __TIME__ への参照がないこと。
  • #line プリプロセッシングディレクティブのインスタンスがないこと。
  • #pragma no_pch がないこと。
  • ヘッダストップポイントよりも前にあるコードによって、プリコンパイルヘッダに関連するオーバーヘッドに見合うだけの十分な数の宣言が行われていること。
関連する概念
4.24 プリコンパイルヘッダ(PCH)ファイル
4.25 プリコンパイルヘッダ(PCH)ファイルの自動処理
4.26 プリコンパイルヘッダ(PCH)ファイル処理とヘッダストップポイント
4.28 複数のプリコンパイルヘッダ(PCH)ファイルを使用したコンパイル
4.29 廃止されたプリコンパイルヘッダ(PCH)ファイル
4.30 プリコンパイルヘッダ(PCH)ファイルのファイル名と場所の手動による指定
4.31 プリコンパイルヘッダ(PCH)ファイル処理の選択的な適用
4.32 プリコンパイルヘッダ(PCH)ファイル処理の抑止
4.33 プリコンパイルヘッダ(PCH)処理中のメッセージ出力
4.34 プリコンパイルヘッダ(PCH)ファイルのパフォーマンスに関する問題点
関連する参考文書
8.148 --pch
8.149 --pch_dir=dir
8.150 --pch_messages、--no_pch_messages
8.151 --pch_verbose、--no_pch_verbose
10.87 #pragma hdrstop
10.92 #pragma no_pch
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.