違いは何ですか
#include< >
#include" "
#import< >
#import" "
違いは何ですか
#include< >
#include" "
#import< >
#import" "
ディレクティブはの#import
改良版です#include
。
#import
再帰的なインクルードで問題が発生しないように、ファイルが一度だけインクルードされるようにします。
#import ""
最初にプロジェクト フォルダーのヘッダーをチェックしてから、システム ライブラリに移動し、#import<>
システム ヘッダーのチェックを行います。理論的には、場所はコンパイラで定義されており、特定のプラットフォームでは異なる方法で実装できます。
を使用する場合#import
、ヘッダー インクルード ガードは不要です。それ以外の場合は、のようなもの#include
です。
C および C++ ファイルに見られるヘッダー インクルード ガード:
#ifndef HGUARD_MONHeader_h
#define HGUARD_MONHeader_h
...header contents...
#endif
import は include のスーパー セットであり、ファイルが 1 回だけ含まれるようにします。これにより、再帰的な包含を回避できます。"" と <> について。"" ローカル ディレクトリで検索し、<> はシステム ファイルに使用されます。
#import ディレクティブは、#include の改良版として Objective-C に追加されました。ただし、それが改善されるかどうかは、まだ議論の問題です。#import は、再帰的なインクルードで問題が発生しないように、ファイルが一度だけインクルードされることを保証します。ただし、ほとんどの適切なヘッダー ファイルはいずれにせよ、これに対して自身を保護するため、それほどメリットはありません。
Objective-C の #import と #include の違いは何ですか? :
#include および #import は、プリプロセッサ* がファイルを読み取り、それを出力に追加することを要求します。#include と #import の違いは、
#include を使用すると、同じファイルを何度も含めることができます。#import は、プリプロセッサがファイルを 1 回だけインクルードすることを保証します。C プログラマーは #include を使用する傾向があります。Objective-C プログラマーは #import を使用する傾向があります。
* Objective-C でのファイルのコンパイルは、2 つのパスで行われます。まず、
プリプロセッサがファイル全体を処理します。プリプロセッサからの出力は、実際のコンパイラに入ります。