相关疑难解决方法(0)

对于标题,相对路径有什么好处,例如"../include/header.h"?

我已经回顾了问题如何正确使用include指令C++ #include语义,并没有解决这个问题 - 当我输入标题时,SO也没有提出其他建议......

如果有的话,写作的好处是什么:

#include "../include/someheader.h"
#include "../otherdir/another.h"
Run Code Online (Sandbox Code Playgroud)

与仅使用普通文件名相比:

#include "someheader.h"
#include "another.h"
Run Code Online (Sandbox Code Playgroud)

或者没有' ..' 的相对名称:

#include "include/someheader.h"
#include "otherdir/another.h"
Run Code Online (Sandbox Code Playgroud)

我看到的问题是:

  • 您无法移动标题而不必担心哪些源文件包含它.
  • 您最终可能会在依赖项和错误报告中使用非常长的标头路径.我今天有一个" ../dir1/include/../../include/../dir2/../include/header.h".

我能看到的唯一优点是,虽然你不需要移动文件,但是你可以在不使用' -I'指令来查找标题的情况下逃脱,但是失去灵活性,以及​​子子编译的复杂性 - 目录等似乎超过了好处.

那么,我是否忽视了一项福利?


感谢您的投入.我认为大家一致认为,使用"......"的符号没有任何重大好处,我忽略了.一般来说,我喜欢"somewhere/header.h"符号; 我确实在新项目中使用它.我正在努力的是新事物.

其中一个问题是,有各种套头的,往往带有前缀,如rspqr.h,rsabc.h,rsdef.h,rsxyz.h.这些都与rsmp目录中的代码有关,但有些标题位于其中rsmp,其他标题位于中央include目录中,该目录中没有子目录rsmp.(并重复代码的其他各个方面;在多个位置都有标题,需要其他位代码随机使用.)移动内容是一个主要问题,因为多年来代码变得如此复杂.并且makefile与-I提供哪些选项不一致.总而言之,这是一个悲伤的故事,讲述了几十年来不那么温和的疏忽.在不破坏任何东西的情况下解决所有问题将是一项漫长而乏味的工作.

c header include

53
推荐指数
4
解决办法
7万
查看次数

标签 统计

c ×1

header ×1

include ×1