問題タブ [precompiled-headers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - VS2008 win32 プロジェクトのデフォルト - デフォルトのプリコンパイル済みヘッダーを削除
プリコンパイル済みヘッダーなしで新しい win32pject を作成できるように IDE を取得する方法を見つけるために、あらゆるオプションを試してきました。私はこのフォーラムのすべてのスレッドを読み、その中に「プリコンパイルされたヘッダー」という言葉があり、最も近いものは次のとおりでした:
2008 proを使用して(動作は似ているようですが、明示的ではありません)、次の場所に移動します。
ファイル -> 新規 -> プロジェクト
これにより、[新しいプロジェクト] ダイアログが開き、[Visual C++ Win32 プロジェクト] を選択し、名前を入力して [OK] をクリックします。
次に、「Win32 アプリケーション ウィザード」を取得します。アプリケーションの種類が「Windows アプリケーション」に設定されていると、アプリケーション設定ペインでプリコンパイル済みヘッダーのチェックを外すことができません。チェックボックスはグレーアウトされています。「コンソール アプリケーション」を選択した場合、チェックを外すことができますが、GUI アプリを作成しています。
[完了] をクリックすると、xxx.cpp に 6 ヤードのコード、4 つのヘッダー ファイル、および必須の stdafx.cpp が表示されます。
おそらく、このすべてのものを削除して削除し、プロパティに移動してPCHをオフにすることもできますが、それは私が書きたい多くの小さなプロジェクトの例にとって面倒です.
Win32 アプリにコンパイルされる空のプロジェクトが必要なだけなので、PCH のデフォルトを NONE に変更するにはどうすればよいですか?
visual-studio - プリコンパイル済みヘッダーに resource.h を含めることは良い考えですか?
VS-IDE は//{{NO_DEPENDENCIES}}
リソース ヘッダー ファイルに書き込みます。このコメントは実際には、リソース ヘッダーを含む cpp ファイルの (不要な) 再構築を防止する機能です。
ただし、MSDN に記載されているように、これは「望ましくない副作用」につながる可能性があります。
私たちのプロジェクトでは、プリコンパイル用にresource.h
含まれています。stdafx.h
残念ながら、リソース ファイルが変更された場合、プリコンパイル済みヘッダーは再構築されません...
NO_DEPENDENCIES を削除すると機能します (ただし、IDE 経由でリソースが変更された場合は再度書き込まれます)。
ファイルが変更されるたびにIDE がファイルに書き込まないようにする方法はあり//{{NO_DEPENDENCIES}}
ますか?resource.h
resource.h
最善の方法は、プリコンパイル済みヘッダー ファイルから を除外し、必要な .h および .cpp ファイルに再度含めることだと思います。この方法では、影響を受けるファイルのみを (手動で!) 再構築する必要があり、すべてのファイルを再構築する必要はありません (pch が再コンパイルされた場合に発生します)。
コメントはありますか?
gcc - プリコンパイル済みヘッダーを取り除く
OK、Mac および Windows 用の古い Metrowerks コードがあります。以前の開発者は、このコード ベースがビルドするすべてのプロジェクトにコンパイル済みのヘッダーを使用していました。
概念的に、プリコンパイル済みヘッダーをどのように取り除くのですか?
.pch の内容を取得して core.h に移動し、それをすべてのクラスの .h ファイルに含めますか?
CMAKE でのビルドに移行したいのですが、プリコンパイル済みヘッダーを機能させるためのハックがありますが、それらへの依存関係を削除するのが最善だと思います。
コンパイル速度について言う人もいるかもしれませんが、私はレースに参加していません。すでに高速な機器を持っています。プリコンパイル済みヘッダーから逃れる方法に興味があります。
c++ - 標準ライブラリ ヘッダー ファイルのプリコンパイル - C++
私のプロジェクトでは、いくつかの STL ヘッダーが異なるファイルで使用されています。これらすべてのヘッダーを単一のヘッダーに入れ、そのヘッダーをファイルで使用すると、コンパイラーがヘッダーをプリコンパイルできるようになり、コンパイル時間が短縮される可能性があることを読みました。
正しく理解していれば、次のように書く必要があります。
ここstl.hpp
で、STL へのアクセスが必要なすべてのファイルに含めます。これは正しいです?
vector
ヘッダー ファイルの機能のみを使用するファイルはほとんどありません。しかし、上記の方法に従うと、不要なヘッダーが含まれます。これは何か問題になりますか?ヘッダー ファイルをインクルードし、そこから何も使用しない場合、生成されるコードはありますか?
どんな助けでも素晴らしいでしょう!
macos - プリコンパイル済みヘッダーとOSXでのユニバーサルオブジェクトのコンパイル
プロジェクトではGCCでプリコンパイル済みヘッダーを使用しており、次のようにビルドします。
今、私はOSX 10.6でプロジェクトを構築しており、次のようにすべてのアーキテクチャで同時に構築するという気の利いた機能を使用しようとしています。
ただし、これはプリコンパイル済みヘッダーでは機能しないようです。
編集:MarkがXCodeに従って指摘したように、プリコンパイル済みヘッダーはアーキテクチャごとに個別にビルドする必要があるため、ユニバーサルオブジェクトをビルドするときにgccに正しいプリコンパイル済みヘッダーを使用させる方法があるかどうかが私の質問です。
XCodeのように各アーキテクチャを完全に個別にビルドできることは理解していますが、同時にビルドする可能性を利用して、さまざまなビルド構成をいじくり回す必要はありません。
visual-c++ - Visual Studio でプリコンパイル済みヘッダーを除くすべてを再ビルドする
プリコンパイル済みヘッダー以外のすべてを再構築するように VC++/Solution/Projects を構成するにはどうすればよいでしょうか?
c++ - #pragma once c++builder と同等
#pragma once
Codegear RAD Studio 2009 に相当するものはありますか?
プリコンパイル済みヘッダー ウィザードを使用していますが、ヘッダー ファイルをインクルードするときにインクルード ガードを使用する必要があるかどうかを知りたいですか?
gcc - gccエラー:プリコンパイル済みヘッダーを作成できません
utypes.hというヘッダーファイルにいくつかの便利なtypedefがあります。私はmakeを使用することに決めましたが、それ以来、それをコンパイルする方法を見つけていません。
gcc -Wall -c utypes.h
utypesの.oオブジェクトを生成するために実行すると、次のエラーが発生します。
私はここで何が間違っているのですか?ありがとう。
c++ - コンパイル済みヘッダーの設計に関する質問
プリコンパイル済みヘッダーを使用するコードがあります。(以前は他の方がやってました)
その中に、いくつかの .h ファイルが含まれています。
現在、既存のプリコンパイル済みヘッダーに含まれていない一般的な .h ファイルを使用するクラスがある場合、それらを投げ込むことで実際にメリットがありますか? たぶんコンパイル速度ですが、クラス/ヘッダーも少しきれいになると思っていましたか?
プリコンパイル済みヘッダーですべきこととすべきでないことは何ですか?
c++ - gccプリコンパイル済みヘッダー-cオプションを使用した奇妙な動作
ショートストーリー:
gcc-cオプションでプリコンパイル済みヘッダーを正しく動作させることができません。
長い話:
皆さん、私はLinuxでgcc-4.4.1を使用していて、非常に大きなプロジェクトでプリコンパイル済みヘッダーを試す前に、単純なプログラムでそれらをテストすることにしました。彼らは「ちょっとうまくいく」が、私は結果に満足しておらず、私のセットアップに何か問題があると確信している。
まず最初に、それらがまったく機能するかどうかをテストするための簡単なプログラム(main.cpp)を作成しました。
次に、プリコンパイル済みヘッダーファイルpre.h(同じディレクトリ内)を次のように作成しました。
...そしてそれをコンパイルしました:
(pre.h.gchが作成されました)
その後、プリコンパイル済みヘッダーがある場合とない場合のコンパイル時間を測定しました。
pch付き
pchなし
ここまでは順調ですね!ほぼ7倍速く、それは印象的です!それでは、もっと現実的なことを試してみましょう。私のすべてのソースは-cオプションで構築されており、何らかの理由でpchをうまく再生させることができません。以下の手順でこれを再現できます...
次のようにテストモジュールfoo.cppを作成しました。
pchを使用した場合と使用しない場合でモジュールfoo.cppをビルドしようとしたタイミングは次のとおりです。
pch付き
pchなし
それはかなり奇妙で、まったくスピードアップがないように見えます!(私はタイミングを数回実行しました)。この場合、プリコンパイル済みヘッダーがまったく使用されていないことが判明しました。-Hオプションでチェックしました(「g++-I。-includepre.h-cfoo.cpp-H」の出力にはpre.hが表示されませんでした。まったくgch)。
私は何が間違っているのですか?