在cstlib中将#include_next替换为#include是否安全

Is it safe to replace #include_next by #include in cstlib

本文关键字:#include 是否 安全 替换 cstlib 中将 next      更新时间:2023-10-16

我最近在交叉编译qt 5.8项目时遇到了cstdlib中#include_next <stdlib.h>指令的问题。

当我试图用linaro-aarch64-gcc_7.2.1-r0工具链构建我的项目时,我遇到了stdlib.h : not such file or directory问题。我通过用#include替换#include_next的出现来解决它。它起了作用,但我确信这不是解决这个问题的好方法。我发现在gcc-base.conf中用-I替换-isystem选项可以解决这个问题,但对我来说不起作用

所以我的问题是:在cstdlib中用#include替换#include_next指令安全吗?

提前感谢

好吧,编辑标准头不是程序员应该做的事情。你会损害代码的可移植性:如果你把代码移到另一台机器上(有相同的cstdlib问题),它将不再编译。首先要弄清楚问题的原因是什么,这是值得的。

但是,如果您想在特定的机器上运行代码,它可能是一个临时修复程序。我不知道为什么cstdlib在您的情况下使用特定于gcc的预处理器指令。

相关文章: