2011-06-01 2 views
6

私は2つのファイルヘッダそれができない、オープンソースのファイル「stdafx.hを」時間のコンパイルエラーを与えるしかし はない、オープンソースのファイル「stdafx.hを」

#include "stdafx.h" 
#include "psapi.h" 

を含めることができます。私はVisual Studios 2010を使用しています。「stdafx.h」も必要ですか?私はそれを取り除くとプログラムがコンパイルできないので、私はそう考える。

答えて

8

Visual Studioでは、 "プリコンパイル済みヘッダー"機能として使用します。 Visual Studioに慣れていない場合は、stdafx.hをプロジェクトに保存することをお勧めします。

もちろん、それを#includeしなければなりません。

+5

それを含めると、すべてのコンパイル単位にFIRSTを含める必要があります。プリプロセッサは、 '#include" stdafx.h "'が出現する前にすべての先頭行を無視します。前には何も置くことができますが、構文エラーはありません。 – Benoit

+1

@Benoit:stdafx.hが最初のインクルードでないとき、私のVisual Studio(2010)は何か(少なくとも警告)を報告します。 – Vlad

+1

注:いずれかの** 1 **ファイルに 'stdafx.h'が含まれていれば、それらはすべて必要です。私は、(サードパーティの)1つのファイルしか使用していないので、すべてのヘッダファイルにインクルードする必要があるという問題がありました。私はそれを使用しないことを好む。私のプロジェクトは、プリコンパイルによって時間を節約できるだけの大きさではありません。 Visual Studionでは、面倒さが節約に値するものではありません。 –

2

stdafx.hは、プリコンパイル済みヘッダーに使用されます。これは必ずしも必要ではありませんが、コンパイラ機能を無効にすることは、以前にやったことがない場合にはやや難しいことです。もしあなたがそれを持っているなら、他のものをコンパイルする前に 'stdafx.cpp'をコンパイルする必要があります。

関連する問題