为什么VS C ++中的Path包含正斜杠而不包含反斜杠?

吉恩

我有成千上万个包含正斜杠文件的文件

#include <this/thread.hpp>

为什么?原始程序是用VS 2008编写的。

这会导致致命错误C1083

如果我更改#include "..\this\thread.hpp"的路径,则会找到文件

埃雷里卡

Windows接受正斜杠和反斜杠作为路径分隔符。至少从Windows XP开始。

我看不懂,但我可以猜测正斜杠是在(潜在)可移植性和/或标准合规性的名称下使用的,因为include指令中的反斜杠在c ++ 03中具有未定义的行为。

c ++ 03§2.8/ 2:

如果字符'或\或字符序列/ *或//出现在q字符序列或h字符序列中,或者字符“出现在h字符序列中,则行为是不确定的。

根据草案,措辞在c ++ 11中进行了更改。该行为不再是未定义的,而是仍然定义为实现。

c ++ 11草案§2.9/ 2

实现定义的语义有条件地支持q-char序列或h-char序列中的字符'或\或字符序列/ *或//的出现,以及实现定义的语义的条件支持。 h字符序列中的字符“。

关于您的错误:

如果我将路径更改为#include“ .. \ this \ thread.hpp”,它将找到文件

请密切注意您的两个不同的include指令。比路径分隔符有更多区别。首先,正斜杠版本不引用父路径(../),其次,路径被封闭,< >在这种情况下是错误的,因为看起来该路径是相对于当前文件的。有关更多详细信息,请参见https://stackoverflow.com/a/21594/2079303

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在此Shell脚本中包含反斜杠?

来自分类Dev

为什么JSON响应在Web API响应中包含反斜杠

来自分类Dev

为什么将正则表达式包含在正斜杠中

来自分类Dev

C ++中的反斜杠是什么意思?

来自分类Dev

什么是C中的反斜杠百分比转义?

来自分类Dev

C ++中的反斜杠是什么意思?

来自分类Dev

为什么C ++中默认不包含卫兵?

来自分类Dev

当从包含反斜杠的响应@file中读取参数时,为什么不能从MSYS ld查找(现有静态)库?

来自分类Dev

搜索包含正斜杠的字段的正确mysql查询是什么?

来自分类Dev

C#POST数据包含斜杠/ \

来自分类Dev

为什么C#不包含IParsable <T>或ITryParsable <T>?

来自分类Dev

为什么在JavaScript的相对路径中使用正斜杠“ /”而不是反斜杠“ \”?

来自分类Dev

Windows为什么要对路径使用反斜杠而对Unix使用正斜杠?

来自分类Dev

为什么在PHP中3个反斜杠等于4个反斜杠?

来自分类Dev

为什么在文件中声明全局变量不包含?(C ++)

来自分类Dev

为什么在Python中打印元组会使反斜杠加倍?

来自分类Dev

为什么在Python路径中需要4个反斜杠?

来自分类Dev

为什么在`find`中的星号前加反斜杠?

来自分类Dev

删除Objective-C中的反斜杠('\')

来自分类Dev

在C中复制,替换或插入反斜杠

来自分类Dev

$ python -c“ script”中的反斜杠

来自分类Dev

为什么VS无法看到包含的文件?

来自分类Dev

为什么图像源中的正斜杠不起作用?

来自分类Dev

一个 Python 正则表达式,用于在 C++ 包含语句中查找反斜杠的使用,除非它们在字符串中

来自分类Dev

为什么单反斜杠变成双反斜杠

来自分类Dev

为什么.c文件可以包含块?

来自分类Dev

C ++为什么在矢量段错误中包含对象?

来自分类Dev

为什么这个Haskell程序反斜杠?

来自分类Dev

为什么grep需要双反斜杠?

Related 相关文章

  1. 1

    为什么在此Shell脚本中包含反斜杠?

  2. 2

    为什么JSON响应在Web API响应中包含反斜杠

  3. 3

    为什么将正则表达式包含在正斜杠中

  4. 4

    C ++中的反斜杠是什么意思?

  5. 5

    什么是C中的反斜杠百分比转义?

  6. 6

    C ++中的反斜杠是什么意思?

  7. 7

    为什么C ++中默认不包含卫兵?

  8. 8

    当从包含反斜杠的响应@file中读取参数时,为什么不能从MSYS ld查找(现有静态)库?

  9. 9

    搜索包含正斜杠的字段的正确mysql查询是什么?

  10. 10

    C#POST数据包含斜杠/ \

  11. 11

    为什么C#不包含IParsable <T>或ITryParsable <T>?

  12. 12

    为什么在JavaScript的相对路径中使用正斜杠“ /”而不是反斜杠“ \”?

  13. 13

    Windows为什么要对路径使用反斜杠而对Unix使用正斜杠?

  14. 14

    为什么在PHP中3个反斜杠等于4个反斜杠?

  15. 15

    为什么在文件中声明全局变量不包含?(C ++)

  16. 16

    为什么在Python中打印元组会使反斜杠加倍?

  17. 17

    为什么在Python路径中需要4个反斜杠?

  18. 18

    为什么在`find`中的星号前加反斜杠?

  19. 19

    删除Objective-C中的反斜杠('\')

  20. 20

    在C中复制,替换或插入反斜杠

  21. 21

    $ python -c“ script”中的反斜杠

  22. 22

    为什么VS无法看到包含的文件?

  23. 23

    为什么图像源中的正斜杠不起作用?

  24. 24

    一个 Python 正则表达式,用于在 C++ 包含语句中查找反斜杠的使用,除非它们在字符串中

  25. 25

    为什么单反斜杠变成双反斜杠

  26. 26

    为什么.c文件可以包含块?

  27. 27

    C ++为什么在矢量段错误中包含对象?

  28. 28

    为什么这个Haskell程序反斜杠?

  29. 29

    为什么grep需要双反斜杠?

热门标签

归档