パスワードを忘れた? アカウント作成
416037 journal

Silphireの日記: precompiled header

日記 by Silphire

GCCのプリコンパイル済みヘッダはどの程度有用か

Visual C++のプリコンパイル済みヘッダーは、ソース群をビルド(make)する時に、カレントフォルダにコンパイルしたヘッダーを残しておき、次のコンパイル時から驚異的な速度でビルドを完了できるようにしようとする仕組み。

対して、gccのプリコンパイル済みヘッダーは、/usr/include/に置く事を想定しているようだ。そのせいで、ソフトウェアごとに違うコンパイルオプションに対応するのが困難になっているらしい。

最初この記事を見た時に、何故VC++と同じ方式にしないのかと思ったが、このあたりはコンパイルの仕方の違いに原因があるのだろうという結論に達した。バイナリ配布をする事が多いWindowsの場合、ソース群と同じフォルダに適時プリコンパイル済みヘッダーを作成するという方式でも不便ではないのだろう。しかし、Linuxや*BSDの場合には、tar玉やパッケージから1回しかコンパイルしない事が多いのではないか。従って、/usr/include/にあるヘッダーまでコンパイル済みにしておきたいという欲求があるのだろう。一度分かってしまえば簡単な事だった。

プリコンパイル済みヘッダーは、VC++で使ってみて味を占めているので、gcc 3.4に搭載されるのは非常に嬉しいところ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

アレゲはアレゲを呼ぶ -- ある傍観者

読み込み中...