include
プリプロセッサ ディレクトリを使用して別のソース ファイルからインクルードしようとしているヘッダー ファイルがあります。引用形式と角度ブラケット形式の両方を使用しようとしましたが、どちらもうまくいかないようです。
ファイル名は.>"hello.h
、コンパイラによって検索されるディレクトリです。私はこのようにそれを含めようとしました:
#include <.>"hello.h>
#include <.\>"hello.h>
#include <.\>\"hello.h>
#include ".>"hello.h"
#include ".>\"hello.h"
また、clang、gcc、clang++、g++ など、さまざまなCおよび C++ コンパイラも試しました。
明らかに、上記のどれも機能しませんでした。さもなければ、疑問の余地はありませんでした。
この名前は規格上は合法ではないのではないかと思いました。残念ながら、Cも C++ の標準仕様も手元にありません。私が見つけた唯一の信頼できる情報源は、ディレクティブに関するこの MSDNページ#include
と、GNU Cプリプロセッサのドキュメント (こちら) でした。GNU のドキュメントにはあまり書かれていませんが、MSDN には次の節があります。
path-spec は、オプションでディレクトリ指定が前に付いたファイル名です。ファイル名は、既存のファイルの名前にする必要があります。path-spec の構文は、プログラムがコンパイルされるオペレーティング システムによって異なります。
Cおよび C++ 標準がこれについて何と言っているか知りたいです。
Cおよび C++ ヘッダー ファイルの命名要件に関する OS 固有の規則はどこにありますか? 特に OS X、Linux、FreeBSD に興味があります。
エスケープ<
や"
文字が機能しないのはなぜですか?
ファイルを含めるにはどうすればよいですか?