すべてのプログラムでそれらを入力する必要がないように、デフォルトで特定のヘッダー ファイルを含める方法: dev c++ および code::blocks
5 に答える
すべてのプロジェクトで必要なファイルを順番にインクルードするグローバル ヘッダー ファイルを作成すると、その 1 つのファイルをインクルードするだけで済みます。
ただし、すべての異なるプロジェクトが非常に似ていない限り、私はそれをお勧めしません。プロジェクトが異なればニーズも異なり、必要なヘッダー ファイルも異なります。
GCCのドキュメントから(AFAIK GCCは、引用している開発環境で使用されるデフォルトのコンパイラです)
-インクルードファイル
#include "file" がプライマリ ソース ファイルの最初の行として表示されているかのようにファイルを処理します。ただし、ファイルを検索する最初のディレクトリは、メイン ソース ファイルを含むディレクトリではなく、プリプロセッサの作業ディレクトリです。そこに見つからない場合は、通常どおり #include "..." 検索チェーンの残りの部分で検索されます。
複数の -include オプションを指定すると、ファイルはコマンド ラインに表示される順序でインクルードされます。
-imacros ファイル
-include とまったく同じですが、ファイルのスキャンによって生成された出力が破棄される点が異なります。それが定義するマクロは定義されたままです。これにより、ヘッダーの宣言を処理することなく、ヘッダーからすべてのマクロを取得できます。
-imacros で指定されたすべてのファイルは、-include で指定されたすべてのファイルの前に処理されます。
しかし、通常、これらを使用するのは悪い考えです。
プロジェクト ファイルでコンパイラ ディレクティブを発行するか、スクリプトを作成して「プロジェクトごと」のインクルードを行うことができますが、一般的にはそれを避けます。
ソースコードは、その内容だけで、読者にとって可能な限り明確でなければなりません。セマンティクスを劇的に変更するソースコードがあるときはいつでも。私には知られていないヘッダーによって、これはかなり混乱する可能性があります。
その上、ヘッダーを必要としない特定のコンパイル単位にそれらのヘッダーを「注入」すると、コンパイル時間に悪影響を及ぼします。
代わりに、common.h/hpp
これらの特定のヘッダー ファイルを含むヘッダーを導入するのはどうでしょうか? 次に、それらを必要とするすべてのファイルに共通ヘッダーを含め、依存するすべてのファイルのこの共通ヘッダー セットを一度に変更できます。また、プリコンパイル済みヘッダー ファイルを使用するための扉も開かれます。これは一見の価値があるかもしれません。
Dev c++ は、Windows 用の gcc コンパイラである MingW コンパイラで動作します。Gcc はプリコンパイル済みヘッダーをサポートしているので、それを試すことができます。プリコンパイル済みヘッダーは、プロジェクト内のすべてのオブジェクト ファイルにコンパイルして追加するヘッダー ファイルです。Google で検索して情報を入手してみてください。
Code::blocks もそれらをサポートしており、gcc で使用するとさらに優れているため、さらに簡単になる可能性があります。
選択したエディターがマクロをサポートしている場合は、好みのインクルード ファイル セットを追加するエディターを作成してください。作成したら、マクロを呼び出して繰り返し入力する手間を省くだけです。
お役に立てれば。