该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/104404476

#include_next

  • 前言
    • 是标准C/C++扩展吗?
    • 用途是什么?

前言

这个预编译指令以前没有接触过,本篇文章做个总结。
[1] 一种Linux发行版。

[2] 一种支持多种语言开发的集成开发环境。

是标准C/C++扩展吗?

不是。是GNU的扩展,所以如果你使用Windows 的MSVC的话是使用不了#include_next的。

用途是什么?

有时需要调整系统提供的头文件的内容而不编辑是很必要的,如,GCC的fixincludes操作提供了这种功能。

一种方式是新建一个同名的头文件,并将其排在原有头文件的搜索路径之前。如果你愿意彻底替换掉老的头文件的话,这种方式是没问题的。但是,如果你要从新的头文件里访问这个老的头文件呢?你不能简单的使用#include引入老的头文件。这样的话,会从搜索路径里再次找到新的头文件(因为新的头文件在搜索路径里排在老的头文件之前)。如果你的头文件没有使用多头文件引入保护,会出现无限递归并且导致严重的错误。

当然,你可以使用绝对路径引入老的头文件:#inclu

C++的#include_next相关推荐

  1. 添加include文件路径_-isystem以及include_next的副作用

    首先我们先来看下include_next的用法 比如我们想include , 在cmath头文件中你可以看到有类似include_next 的语法,他跟传统的include不同,他不会从你的searc ...

  2. #include_next

    #include_next和#include指令一样,也是包含一个头文件,它们的不同地方是包含的路径不一样. #include_next的意思就是"包含指定的这个文件所在的路径的后面路径的那 ...

  3. linux longlong大小,Linux基本数据类型大小——int,char,long int,long long int

    转自: http://blog.163.com/zheng_he_xiang/blog/static/186505326201110272018548/ 在Linux操作系统下使用GCC进行编程,目前 ...

  4. 从1的补码说起计算机的数制

    字节换算 bit(b)=位 字节(byte)=8位 -128~127 0-255 半字=2字节=16位 -32768~32767 0-65,535 字(word)=4字节=32位 -214748384 ...

  5. iOS:消除项目中警告

    引言: 在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak.循环引用.不能执行之类的警告. 有代码洁癖的孩子们很想消除他们, 今天就让我们来一次Fuck 警告!! 首先学会基本的语句: ...

  6. Ubuntu Qt编译报错 stdlib.h: No such file or directory

    如图,需要将第19行,INCLUDEPATH += /usr/include,注释掉,原因是分析,在ubuntu的CSTDLIB中,使用的是#include_next "stdlib.h&q ...

  7. /usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: No such file or directory

    1.错误原因 报错如上.后来经过查阅,发现这个错误是因为由于gcc6的缘故.我的gcc 版本是6.5的.gcc6已经把吧stdlib.h纳入了libstdc++以进行更好的优化,C Library的头 ...

  8. C指针原理(12)-C指针基础

    tcctok.h定义了C语言的词法分析的基本元素,主要定义了关键字. / keywords /DEF(TOK_INT, "int")DEF(TOK_VOID, "void ...

  9. vxworks gcc linux,针对VxWorks的GCC交叉编译器无法编译C++

    我试图移植Linux库以在VxWorks上运行.我已经成功构建了binutils和gcc,目标为i486-wrs-vxworks,我可以成功构建一个简单的C程序.但是,当我尝试编译C++时,事情就会中 ...

最新文章

  1. 线性表List的基本创建
  2. 命令行是你的至交好友
  3. Linux 用户进程内存空间详解
  4. 类与类之间的交互关系
  5. 苹果7手机计算机怎么看历史记录,苹果手机safari书签及其历史记录怎么恢复
  6. 程序内存一直在泄漏,原来是异步死循环了 !
  7. java 获取子线程_Java 主线程获取子线程返回结果
  8. oracle中sql语句排序,Oracle SQL排序方式与case语句
  9. 持续集成部署Jenkins工作笔记0011---配置构建命令并手动执行一次构建
  10. 2020 及以后的八大最显著技术趋势!
  11. Android 通过WebService进行网络编程,使用工具类轻松实现
  12. TurboFan-Sea of Nodes概念讲解
  13. PSD网页切图制作HTML全过程教程
  14. 键盘错误代码39解决方法
  15. android组件化解耦,android module解耦组件化总体概述
  16. Failed to load C:\SDK\android-sdk-windows\build-tools\27.0.2\lib\dx.jar
  17. Pigeon的一次调用客户端发生了什么
  18. 变上限积分的连续性和可导性
  19. Qt—设计颜色编辑选取对话框
  20. 什么是EasyAntiCheat.exe,为什么在我的计算机上?

热门文章

  1. 零基础在学习Java时如何才能打好基础呢
  2. 五分钟带你了解Django框架设计思想!
  3. web前端教程之JavaScript的作用域
  4. python2.7安装使用thulac库时遇到的一些问题
  5. 粒子群PSO优化算法学习笔记 及其python实现(附讲解如何使用python语言sko.PSO工具包)
  6. 电网调度优化学习笔记:不考虑经济损耗的调度方式(算例代码求解)
  7. MyBatis运行原理(二)SqlSession对象创建过程分析
  8. opengl加载显示3D模型lxo类型文件
  9. OpenCASCADE:写STEP
  10. wxWidgets:wxFilterClassFactory类用法