我有一个头文件,我试图使用include
预处理器目录从另一个源文件中包含它。我曾尝试使用引用形式和角括号形式,但似乎都没有完成这项工作。
文件名是.>"hello.h
编译器搜索的目录。我试图像这样包含它:
#include <.>"hello.h>
#include <.\>"hello.h>
#include <.\>\"hello.h>
#include ".>"hello.h"
#include ".>\"hello.h"
我还尝试了不同的C和 C++ 编译器——clang、gcc、clang++ 和 g++。
显然,以上都没有奏效,否则就没有问题了。
我认为根据标准,该名称可能不合法。不幸的是,我手头上既没有C也没有 C++ 标准规范。我能找到的唯一权威信息来源是这个关于指令的 MSDN页面#include
和 GNU C预处理器文档,这里是。GNU的文档不多说,MSDN有如下条款,不过:
path-spec 是一个文件名,前面有一个目录规范。文件名必须命名现有文件。path-spec 的语法取决于编译程序的操作系统。
我很好奇C和 C++ 标准对此有何评论?
我在哪里可以找到那些针对C和 C++ 头文件命名要求的特定于操作系统的规则?我对 OS X、Linux 和 FreeBSD 尤其感兴趣。
为什么转义<
和/或"
字符不起作用?
如何包含我的文件?