如何在 C 预处理器中生成错误或警告?

2024-02-25

我有一个必须仅在调试模式下编译的程序。 (测试目的)

如何让预处理器阻止在 RELEASE 模式下进行编译?


放置在任何地方:

#ifndef DEBUG
#error "Only Debug builds are supported"
#endif

以供参考:诊断 https://gcc.gnu.org/onlinedocs/cpp/Diagnostics.html#Diagnostics

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

如何在 C 预处理器中生成错误或警告? 的相关文章

  • 如何暂时禁用 C/C++ 中的宏扩展?

    由于某种原因 我需要暂时禁用头文件和 undef MACRONAME将使代码编译 但它将在现有宏下进行 有没有办法禁用它 我应该提到 您并不真正知道宏的值 并且我正在寻找交叉编译器解决方案 至少应该在 GCC 和 MSVC 中工作 在 MS
  • 使用 C 中的宏初始化未知大小的二维数组

    我正在开发一个小型宏项目 该项目要求我将二维数组文字传递给我的宏之一 如下所示 myMacro 0 1 2 2 1 0 不必将数组文字的大小传递给宏 有没有办法将其扩展为以下内容 int 2 3 0 1 2 2 1 0 或等效的东西 任何保
  • 如何定义预处理器宏来检查iOS版本

    我用它来检查iOS版本 但它不起作用 ifndef kCFCoreFoundationVersionNumber iPhoneOS 5 0 define kCFCoreFoundationVersionNumber iPhoneOS 5 0
  • 实现编译时机制检查字符串的唯一性

    定义我的问题的最简单方法是我正在尝试实现一种机制来检查是否已使用相同的字符串 或一对 数字 字符串 我希望使用 C 预处理器以智能方式实现此机制 我还希望这种机制在调试模式下出现冲突或运行时错误时 通过检查断言 给我编译错误 我们不希望开发
  • C 编程:预处理器、宏作为标记

    我正在尝试做一些概念上与此类似的事情 但似乎无法让它发挥作用 最后显示错误 任何想法 include
  • 宏展开错误

    我一直在尝试理解宏扩展 发现第二个 printf 给出了错误 我期望第二个打印语句生成与第一个打印语句相同的输出 我知道有一些函数可以进行字符串连接 我发现很难理解为什么第一个打印语句有效而第二个则无效 define CAT str1 st
  • 为什么要在项目中使用#include_next?

    引用iOS有关包装器标头的文档 http developer apple com library ios documentation DeveloperTools gcc 4 0 1 cpp Wrapper Headers html inc
  • #ifdef MACRO 相当于注释吗

    假设 MACRO 没有定义 这些是等价的 ifdef MACRO Not valid C or C code endif Not valid C or C code 在 GCC 4 7 1 中 它似乎是等效的 但是否有预处理器可以做更多的事
  • 用宏包装函数(无需重命名)C

    我有兴趣通过包装现有函数调用来添加一些额外的逻辑without重命名它们 仅供测试 我发现的现有解决方案依赖于将函数包装在不同名称的宏中 这可能意味着更改大量代码 有什么建议么 请注意 我知道LD PRELOAD 但我有兴趣使用宏来检查传递
  • 如何驯服 Windows 标头(有用的定义)?

    在其中一个答案中this https stackoverflow com questions 1394132 macro and member function conflict问题jalf https stackoverflow com
  • #elif 定义时不带括号

    使用 VS2005 和 BLAH BLAH 定义以下预处理器条件为 false elif defined BLAH BLAH 但如果我把它改成 elif defined BLAH BLAH 是真的 为什么括号在这里会有所不同 它应该没有任何
  • Objective-C 字符串文字的预处理器宏值

    我在构建设置中定义了一个预处理器宏 FOO BAR 我想将该值转换为可以传递给方法的 Objective C 字符串文字 以下 define 不起作用 但它应该展示我想要实现的目标 define FOOLITERAL FOO want FO
  • 包含目录中的所有文件?

    如何实现以下代码想要实现的目标 include dir In Bash HEADER all headers h echo ifndef ALL HEADERS gt HEADER echo define ALL HEADERS gt gt
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • 定义一个断言,即使定义了 NDEBUG,该断言也有效

    我想定义一个assert与标准相同的宏assert 3 http man7 org linux man pages man3 assert 3 html调用 但它不会被预处理器删除NDEBUG被定义为 这样的呼唤 让我们称之为assert2
  • 最有用的用户制作的 C 宏(在 GCC 中,还有 C99)? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 C 中使用枚举而不是 #defines 作为编译时常量是否合理?

    在 C 工作了一段时间后 我将回到 C 开发领域 我已经意识到 在不必要的时候应该避免使用宏 以便让编译器在编译时为您做更多的工作 因此 对于常量值 在 C 中我将使用静态 const 变量或 C 11 枚举类来实现良好的作用域 在 C 中
  • Objective C“#if”语法

    我对 如果 或 如果 有点困惑 if当我查看一些类时我看到的语法 例如 if someConstant someNumber do something elif etc versus if someConstant someNumber d
  • 是否可以在编译时/运行时生成标记字符串的全局列表?

    因此 我正在努力将我的 C 应用程序翻译成多种语言 我目前正在使用的是这样的 define TR x lookupTranslatedString currentLocale x wcout lt lt TR L This phrase i
  • 对C宏扩展和整数运算感到困惑[重复]

    这个问题在这里已经有答案了 可能的重复 一个谜语 C https stackoverflow com questions 5611724 a riddle in c 我对以下代码片段有几个问题 include

随机推荐

  • 在 Zend Framework 2 中扩展 Zend\View\Helper\Url

    我写了一个简单的 url 视图助手 它扩展了Zend View Helper Url并将其附加到ViewHelperManager MyNamespace View Helper Url namespace MyNamespace View
  • 如何在 django 2.0 中的 url 中有选项

    在 Django 1 中 我曾经有这样的 url 选择 url meeting P
  • Vue Ag-grid 一次隐藏/取消隐藏所有列

    我试图在父组件的数据更改时隐藏和取消隐藏 ag grid 中的所有列 这是我的子组件
  • MS SQL 相当于查询中的 MySQL 用户定义变量

    在 MySQL 中 如果您想报告一个公式 然后在另一个公式中使用该结果 您可以执行类似于以下操作 SELECT var1 column1 column2 AS var1 POWER var1 2 AS var2squared FROM da
  • 在 XAML 中将布尔值返回 null 到复选框状态转换器

    我有一个 TaskStatus 到布尔转换器 它在 Windows 应用商店应用程序 通用应用程序 的 XAML 中实现 IValueConverter 接口 我有三个任务状态 并使用 IsThreeState true 在复选框中启用了不
  • 如何在 lambda 本身中获取 C++ lambda 函数的地址?

    我试图弄清楚如何获取 lambda 函数本身的地址 这是示例代码 std cout lt lt Address of this lambda function is gt lt lt 我知道我可以捕获变量中的 lambda 并打印地址 但我
  • 如何在通知区域显示进度条?

    你好 我正在做一个 Android 应用程序 在其中我将视频上传到 PHP 服务器 我在用HTTPURLConnection进行上传 我陷入了在通知区域显示进度条并更新它的困境 我搜索了近一周的时间来做到这一点 但找不到提示 如果有人知道
  • 修复 WCF 4.0 REST 的 XmlDictionaryReaderQuotas 最大长度配额 [已关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果 POST 正文长度超过 819
  • Safari 在重定向/表单提交时暂停所有动画

    我有一个点击链接时触发的动画 这是一个放大 div 然后淡出的 jQuery 动画 为了确保速度 在单击链接的同时 会触发重定向 这是必须发生的 我不能将重定向放在 jQuery 的 animate 的成功函数中 此重定向是通过表单提交完成
  • Django manage.py runserver 抛出 ImportError: AdminMediaHandler

    问题 当我跑步时python manage py runserver我收到错误ImportError cannot import name AdminMediaHandler ex venv agconti agconti Inspiron
  • 在远程节点上的 ssh 命令中使用 SED

    我编写了一个脚本来 ssh 到某些节点并运行sed节点内的命令 脚本看起来像 NODES compute 0 3 for i in NODES do echo i ssh i sed i s 172 16 48 70 172 20 54 1
  • Spark from_json 也不例外

    我正在使用 Spark 2 1 scala 2 11 我想将具有定义模式的 json 格式字符串从一个数据帧加载到另一个数据帧中 我尝试了一些解决方案 但最便宜的是标准列函数 from json 我尝试了一个例子 https jacekla
  • AWS Lambda 处理来自 DynamoDB 的流

    我正在尝试创建一个消耗 dynamoDB 表中的流的 lambda 函数 但是我想知道处理在执行过程中可能因某些错误而未处理的数据的最佳实践是什么 例如 我的 lambda 失败并且丢失了部分流 这是重新处理丢失数据的最佳方法 这是为你处理
  • Ruby 中的波形可视化

    我即将启动一个记录和编辑音频文件的项目 并且我正在寻找一个好的库 最好是 Ruby 但会考虑 Java 或 NET 以外的任何库 来实现波形的动态可视化 有谁知道我应该从哪里开始搜索 有大量数据要流入浏览器 Flash 或 Flex 图表可
  • 有没有办法转换客户 ID 及其最近的订单日期?

    我有一个查询 它为我提供了所有客户及其最后三个订单日期 EX CustomerId DateOrdered 167 2006 09 16 01 25 38 060 167 2006 09 21 13 11 53 530 171 2006 0
  • 默认按钮大小?

    如何创建按钮控件 使用CreateWindow of a BUTTON窗口类 是否具有与其他 Windows 应用程序一致的标准系统范围尺寸 尤其是高度 我当然应该考虑 DPI 和可能的其他设置 Remark Using USE CW DE
  • Gitolite 3 - 设置仓库描述(未授权)

    我正在使用 Gitolite 3 6 ssh git host info hello you this is got Git running gitolite3 v3 6 1 6 gdc8b590 on git 1 7 10 4 R W m
  • 阻止 ScrollView 将焦点设置在 EditText 上

    Android 的 ScrollView 当滚动或滑动时 喜欢在 EditText 是其子级之一时设置其焦点 当您滚动然后释放时会发生这种情况 有什么办法可以阻止这种行为吗 我几乎尝试了所有我能想到的以及我在 StackOverflow 上
  • iOS 14 Widget 闪烁或冻结,chronod 崩溃

    我已经为我的应用程序实现了一个小部件扩展 即 iOS 14 小部件 使用 WidgetKit 通常 该小部件工作得很好 但有时它会进入反复闪烁并最终冻结的状态 我尝试将调试器连接到小部件进程 但它没有捕获任何崩溃或异常 然而 我确实在我的设
  • 如何在 C 预处理器中生成错误或警告?

    我有一个必须仅在调试模式下编译的程序 测试目的 如何让预处理器阻止在 RELEASE 模式下进行编译 放置在任何地方 ifndef DEBUG error Only Debug builds are supported endif 以供参考