我意识到这可能是特定于操作系统的,但我正在尝试编写跨平台的GCC代码。所以我想知道是否真的最好避免这些,或者如果我被迫选择,哪一个会更安全。
标题名称的语法为(C11,6.4.7第1段):
header-name:
< h-char-sequence >
" q-char-sequence "
h-char-sequence:
h-char
h-char-sequence h-char
h-char:
any member of the source character set except
the new-line character and >
q-char-sequence:
q-char
q-char-sequence q-char
q-char:
any member of the source character set except
the new-line character and "
-
和_
都是基本源字符集的一部分(5.2.1第3段)。但该标准留下了许多与#include
实现相关的内容。
在实践中,我认为使用它们没有任何问题。我不知道有哪个文件系统不允许或赋予它们特殊的含义。维基百科的这篇文章也没有列出一个。