プロジェクトで #include_next を使用する理由は何ですか? 質問する

プロジェクトで #include_next を使用する理由は何ですか? 質問する

iOSからの引用ラッパーヘッダーに関するドキュメント:

#include_next<file> と "file" の包含を区別せず、指定したファイルが現在のファイルと同じ名前であるかどうかもチェックしません。単に、現在のファイルが見つかったディレクトリの後のディレクトリから、指定されたファイルを検索します。

`#include_next' を使用すると、大きな混乱が生じる可能性があります。他に選択肢がない場合にのみ使用することをお勧めします。特に、特定のプログラムに属するヘッダーでは使用しないでください。fixincludes に沿ってグローバルな修正を行う場合にのみ使用してください。

では、2 つの質問です。#​​include_next とは何ですか? また、なぜそれを使用する必要があるのでしょうか?

ベストアンサー1

これは、デフォルトのヘッダーを独自に作成したヘッダーに置き換える場合に使用します。たとえば、「stdlib.h」を置き換えるとします。プロジェクトに stdlib.h というファイルを作成し、それがデフォルトのヘッダーの代わりにインクルードされます。

#include_next は、stdlib.h を完全に置き換えるのではなく、何かを追加する場合に使用します。次の内容を含む stdlib.h という新しいファイルを作成します。

#include_next "stdlib.h"
int mystdlibfunc();

そしてコンパイラはあなたの通常の #include の場合と同様に、stdlib.h を再度再帰的に実行するのではなく、他のディレクトリで "stdlib.h" という名前のファイルを続行します。

おすすめ記事