あなたが< >
を使用すると、コンパイラだけヘッダーのためのシステムが指定したディレクトリ/ディレクトリ(例えば、あなたがinclude
環境変数に設定したものは何でも)に見えます。
" "
を使用すると、コンパイラはローカルディレクトリを最初に検索し、失敗した場合は< >
と同じように再検索します。技術的には(つまり、標準に従って)、「ローカル」ディレクトリである必要はありませんが、それは基本的にどのコンパイラでも動作します。あなたが気にする場合には
は、標準からの正式な文言は、実際には(§16.2/ 2-3)の種類の曖昧です:
フォーム
# include <h-char-sequence> new-line
の前処理指令特定の シーケンスによって<と>デリミタの間で一意に識別されるヘッダの実装定義のシーケンスのシーケンスを検索し、そのディレクティブを内容全体で置き換えます。ヘッダーの。どのように場所が指定されるか、またはヘッダーが識別されるかは実装定義です。
形態
# include "q-char-sequence" new-line
の前処理指令は、「区切り文字の間に指定 配列によって識別されたソース・ファイルの全体の内容によってその命令の交換を引き起こす。という名前のソースファイルを検索します実装で定義された の方法で定義されています。この検索がサポートされていない場合、検索に失敗した場合には(もしあれば、文字>を含む)、それは本来の指令から同じ含まれる配列と
# include <h-char-sequence> new-line
を読んでいるかのように、または、ディレクティブが再処理されます。
私はあなたが重複を見て願っています、すべての答えは間違っています。 – juanchopanza