C 包含路径:可以安全使用连字符和下划线吗?
C include paths: Safe to use hyphen & underscore?
我意识到这可能是特定于操作系统的,但我正在尝试编写跨平台的 GCC 代码。所以想知道是否真的最好避免这些,或者如果我被迫选择,哪个是更安全的选择。
header 名称的语法是 (C11, 6.4.7 par. 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
implementation-defined.
相关的内容
实际上,我没有发现使用它们有任何问题。我不知道有一个文件系统不允许或为它们分配特殊含义。 This Wikipedia article 也没有列出。
我意识到这可能是特定于操作系统的,但我正在尝试编写跨平台的 GCC 代码。所以想知道是否真的最好避免这些,或者如果我被迫选择,哪个是更安全的选择。
header 名称的语法是 (C11, 6.4.7 par. 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
implementation-defined.
实际上,我没有发现使用它们有任何问题。我不知道有一个文件系统不允许或为它们分配特殊含义。 This Wikipedia article 也没有列出。