c++ - #include c/c++中的绝对路径语法

标签 c++ c path include absolute

出于某种原因,我需要为我的系统使用#include 中的绝对路径。

使用 #include "D:\temp\temp_lib\temp.h" 是否可以接受?

我已经尝试了这些不同的用法,而且似乎都有效。

  1. #include "D:\temp\temp_lib\temp.h"
  2. #include "D:\\temp\\temp_lib\\temp.h"
  3. #include "D:/temp/temp_lib/temp.h"

我只想知道我应该使用哪一个?我正在使用 MSVC 2005。我想知道这三者是否仍然可以在 Linux 或其他环境中工作。

我原以为#1 会在编译过程中出现错误,但我没有得到任何结果。有人知道这是为什么吗?

最佳答案

我所知道的每个实现,当然还有 MSVC 2005 和 linux,都允许您指定要在其中查找头文件的目录路径。您应该在目录路径列表中包含 D:\temp\temp_lib,然后使用

#include <temp.h>

对于 gcc,使用 -I path。对于 MSVC,请参阅 Where does Visual Studio look for C++ header files?

#1 不是语法错误的原因是,虽然它看起来像字符串文字,但它不是。规范是

#include "q-char-sequence"

q-char在哪里

any member of the source character set except the new-line character and "

特别是,\ 没有特殊含义。 q-char-sequence 的解释是实现定义的。

关于c++ - #include c/c++中的绝对路径语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12562807/

相关文章:

c - C是否舍入浮点常量

copy_to_user 不工作 - 我错在哪里?

java - 加入 nio.path 与 Paths.get() 或 Path.resolve()

java - 保存到 "ExternalStorage"- 处理库

C++ - 局部未初始化变量的值

c++ - 纯虚函数

c - 如何控制 glib 中调试信息的级别?

C++ vector 问题

c++ - 如何编写常量函数引用

python - 如何使用 glob() 递归查找文件?