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

#include absolute path syntax in c/c++

本文关键字:路径 语法 C++ #include      更新时间:2023-10-16

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

使用#include "D:temptemp_libtemp.h"可以接受吗?

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

  1. #include "D:temptemp_libtemp.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 路径。对于 MSVC,请参阅 Visual Studio 在何处查找C++头文件?

#1 不是语法错误的原因是,尽管它看起来像字符串文字,但事实并非如此。规格是

#include "q-char-sequence"

Q-char 在哪里

源字符集的任何成员,换行符除外 和"

特别是,没有特殊意义。q-char-序列的解释是实现定义的。