C++ #ifndef 用于包含文件,为什么头文件全部大写?

2023-11-26

我想知道为什么后面的名字#ifndef指令始终全部大写并且似乎与实际头文件的名称不匹配?与此相关的规则是什么?我一直在网上查找,但没有找到任何解释。如果我的头文件名为 myheader.h 就可以使用:

#ifndef MYHEADER

如果是这样,为什么?规则是什么?


这些是预处理器符号,没有这样的规则。 (只要它们匹配#defines在标题中)

但是,惯例是对预处理器符号使用全部大写。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ #ifndef 用于包含文件,为什么头文件全部大写? 的相关文章

  • 具有子列表属性映射问题的自动映射器

    我有以下型号 Models public class Dish Required public Int64 ID get set Required public string Name get set Required public str
  • ASP.NET MVC 中的经典 ASP (C#)

    我有一个应用程序想要 最终 转换为 ASP NET MVC 我想要进行全面的服务升级 到 ASP NET 但想要使用当前的 ASP 内容来运行当前的功能 这样我就可以在对新框架进行增量升级的同时升级小部分 该站点严重依赖于不太成熟的 VB6
  • asp.net 文本框文本模式数字,仅允许数字

    我只是想知道 ASP NET 中是否有一种方法只允许文本框中的数字textmode number 当我使用这个时
  • 向 ExpandoObject 添加方法时,“关键字 'this' 在静态属性、静态方法或静态字段初始值设定项中无效”

    我尝试向 ExpandoObject 添加一个动态方法 该方法将返回属性 动态添加 给它 但它总是给我错误 我在这里做错了什么吗 using System using System Collections Generic using Sys
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • IronPython:没有名为 json 的模块

    我安装了 IronPython 我的 python 文件如下所示 import sys print sys version import json 运行它的代码 var p Python CreateEngine var scope p C
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 通过 NHibernate 进行查询,无需 N+1 - 包含示例

    我有一个 N 1 问题 我不知道如何解决它 可以在这个问题的底部找到完全可重复的样本 因此 如果您愿意 请创建数据库 设置 NUnit 测试和所有附带的类 并尝试在本地消除 N 1 这是我遇到的真实问题的匿名版本 众所周知 这段代码对于帮助
  • 在 C 中使用 GNU automake 中的解析器

    我是 GNU autotools 的新手 在我的项目中使用了 lex 和 yacc 解析器 将它们作为 makefile am 中的源代码会产生以下错误 配置 in AC CHECK PROGS YACC bison yacc none i
  • 获取 2 个数据集 c# 中的差异

    我正在编写一个简短的算法 它必须比较两个数据集 以便可以进一步处理两者之间的差异 我尝试通过合并这两个数据集并将结果更改放入新的数据集来实现此目标 我的方法如下所示 private DataSet ComputateDiff DataSet
  • 如何一步步遍历目录树?

    我发现了很多关于遍历目录树的示例 但我需要一些不同的东西 我需要一个带有某种方法的类 每次调用都会从目录返回一个文件 并逐渐遍历目录树 请问我该怎么做 我正在使用函数 FindFirstFile FindNextFile 和 FindClo
  • strcmp 给出分段错误[重复]

    这个问题在这里已经有答案了 这是我的代码给出分段错误 include
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • 我在在线程序挑战编译器中遇到演示错误

    include
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在
  • Googletest:如何异步运行测试?

    考虑到一个包含数千个测试的大型项目 其中一些测试需要几分钟才能完成 如果按顺序执行 整套测试需要一个多小时才能完成 通过并行执行测试可以减少测试时间 据我所知 没有办法直接从 googletest mock 做到这一点 就像 async选项
  • 错误:无效使用不完整类型“类 Move”/未定义对 Move::NONE 的引用

    拜托 我不知道为什么这个简单的代码被拒绝 它给了我 2 个编译错误 请帮帮我 I use 代码 块 20 03 我的编译器是GNU GCC 移动 hpp class Move public Move Move int int public

随机推荐

  • 预先确定大叶的最佳放大级别

    我正在使用 folium 绘制一些地图 工作相当顺利 但是 我不知道如何预先计算正确的缩放级别 我可以自动设置 import folium m folium Map point of interest iloc 0 Lat point of
  • 如何在 Javascript 中创建最佳拟合多项式曲线?

    我正在尝试使用 3 6 阶多项式计算数据的最佳拟合曲线 我找到了这个教程 JavaScript 中的三次回归 最佳拟合线 首先 我似乎无法让我的输出远程匹配曲线 jsbin在这里 http jsbin com qukuqigobu 1 ed
  • 如何将 rtf 字符串提供给 richtextbox 控件

    我有一串富文本字符 标记 我想将其提供给代码中的富文本框 string rt rtf1 ansi ansicpg1252 deff0 deflang1033 fonttbl f0 fswiss fcharset0 Arial f1 fnil
  • 将同一数据框中的两列合并为一列

    我有一个问题将同一数据帧 start end 中的两列合并为一列 并删除空值 我打算合并 Start station and End station into station 并保留 duration 根据新专栏 station 我努力了p
  • 强制 Idea 生成 R.Java 文件的最简单方法是什么?

    我正在尝试使用 intellij idea 运行 Android 示例应用程序 但记事本示例源目录中缺少 R Java 文件 确保您有正确的设置 项目结构 gt Facets gt Android gt yourproject gt 编译器
  • 类内的类型提示[重复]

    这个问题在这里已经有答案了 class Node def append child self node Node if node None self first child node self child nodes node 我该怎么做n
  • EcmaScript 6 - Tern IDE 解决 Eclipse 验证错误

    我正在使用 Eclipse Mars 以及版本 1 1 0 快照 上支持 ES6 的 Tern IDE 我在箭头函数和 const exports 上收到验证错误 如以下屏幕截图所示 我完成了这些描述 但错误不会消失 https githu
  • 使用JQuery如何显示和隐藏不同div的onClick事件

    我想显示一个基于链接的 Onclick 事件的 div 首次单击 显示 div1第二次单击 隐藏剩余的 div 并显示 div2第三次单击 隐藏剩余的 div 并显示 div3第四次单击 隐藏剩余的 div 并显示 div1 gt 重复循环
  • TypeScript:获取超类的类型?

    我想知道是否有办法在打字稿中获取扩展类的类型 class BaseClass baseProp string class SubClass extends BaseClass subProp string type someType
  • 如何添加系统“Windows 挂钩”以便在创建/激活窗口时收到通知?

    尝试了很多方法 但在我的任务栏被破坏以及桌面用户界面上出现其他超自然效果的情况下 我无法让它始终如一地工作 尝试使用开放库http mwinapi sourceforge net 第一的 尽管它作为面向对象层来枚举窗口和其他东西效果很好 它
  • 将 Javascript 添加到 WKWebView

    你好 我知道这似乎是一个超级简单的问题 但我想将此 JS 添加到我的 WebView 中 现在显然我知道这是 HTML 但我不确定要在 evaluateJavaScript 中放入什么才能使用 JS 源 抱歉 如果这不是很清楚 我对 Swi
  • 从 C 函数构建 PyObject*?

    我正在将 Python 嵌入到我正在制作的 C 库中 我希望用户能够以函数指针的形式传递 C 函数PyObject fpFunc PyObject PyObject 这样我就可以在嵌入式Python中使用这些函数 所以我有一个函数指针 并且
  • 如何使用 python 和 Matplotlib 更新绘图

    我一直在努力尝试使用 matplotlib 和 python 和 wxpython 来更新图表 我想按下一个按钮并将数据添加到嵌套在 wx notebook 中的图表中 下面是代码 谢谢您的帮助 import wx import matpl
  • 在 Java 中取消转义 JavaScript 转义值

    在我们的 Web 服务中 我们通过 JavaScript 设置了一个 cookie 我们在 Java Servlet 中再次读取该 cookie 然而 我们需要转义 cookie 的值 因为它可能包含非法字符 例如 这会弄乱 cookie
  • 我什么时候应该在 data.table 中使用 := 运算符?

    data table对象现在有一个 运算符 该运算符与所有其他赋值运算符有何不同 另外 它有什么用途 速度有多快 什么时候应该避免使用 这是一个示例 显示 10 分钟缩短为 1 秒 摘自 NEWShomepage 这就像子分配给data f
  • 在另一个字段发生变化时触发 Yii 字段验证

    我的 Yii 模型中有两个相关字段 它们是 items per 和 items period 每个项目是一个整数 反映在给定时间段内要处理的项目数 items period是该时间段内的秒数 带有标记为秒 分钟 小时的选项的下拉列表 将 i
  • PHP LaTeX 到 PDF 的转换/编译 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我进行了广泛的搜索 寻找一个基于 PHP 的工具来将 LaTeX 转换为 PDF 但没有成功 我知道 LaTeX 在服务器端运行 但是我仍然需要基于
  • Tensorflow:如何在新图中使用预训练权重?

    我正在尝试使用 CNN 和 python 框架使用张量流构建一个对象检测器 我想首先训练我的模型仅进行对象识别 分类 然后使用预训练模型的几个卷积层训练它来预测边界框 我需要替换全连接层 可能还需要替换一些最后的卷积层 所以 出于这个原因
  • Windows 上出现“OverflowError:Python int 太大,无法转换为 C long”,但 Mac 上则不然

    我在 Windows 和 Mac 上运行完全相同的代码 使用 python 3 5 64 位 在 Windows 上 它看起来像这样 gt gt gt import numpy as np gt gt gt preds np zeros 1
  • C++ #ifndef 用于包含文件,为什么头文件全部大写?

    我想知道为什么后面的名字 ifndef指令始终全部大写并且似乎与实际头文件的名称不匹配 与此相关的规则是什么 我一直在网上查找 但没有找到任何解释 如果我的头文件名为 myheader h 就可以使用 ifndef MYHEADER 如果是