在 C++ 中将枚举值映射到字符串

2023-12-20

有没有办法在运行时将枚举的值映射到名称? (我正在与 GCC 一起构建。)

我知道 GDB 可以做到这一点,并且我愿意使用一些不可移植且会破坏调试数据的东西。


Edit:我正在寻找一种解决方案,不需要修改原始枚举声明,也不需要手动复制映射函数中的所有值。我已经知道如何做到这两点。

有效地;我想要一个函数,它可以执行 GDB 在格式化运行时枚举值时执行的任何操作。


如果您有毅力,您可以创建一个工具来解析枚举的源文件,生成翻译函数并将它们添加到源代码中。如果您有更多的精力,您可以为 Eclipse 和 Emacs 等编辑器编写插件来为您执行此操作。

也许可以用 Perl 脚本来完成?

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

在 C++ 中将枚举值映射到字符串 的相关文章

  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • 按成员序列化

    我已经实现了template
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co

随机推荐

  • Asp.net何时终止后台线程?

    我正在开发一个项目 有大量电子邮件发送其中的一部分 当用户单击按钮时 他 她会立即收到 感谢电子邮件已发送 作为响应 并且会触发相同的方法还有一个异步线程 ThreadPool QueueUserWorkItem SendEMail mes
  • 作业 - 尝试计算两个城市之间的多个航班停靠点?

    这是针对数据库类 使用 Oracle DB 11g Tables Flight flt no from city to city flt distance flt departs flt arrives flt price Aircraft
  • Delphi XE2无限等待线程中调用哪个等待方法

    如果我有一个 While not terminated do begin doStuff end 在 Delphi XE2 线程的执行方法中循环 我不想让它让我所有的失败 我该怎么称呼 在 Delphi 7 中 这很简单 我调用 Sleep
  • 如何在 Perl 中从终端进行管道传输而不丢失颜色?

    我正在尝试编写一个 perl 脚本 它获取 colorgcc 的输出 或任何其他将彩色文本打印到终端的脚本 添加 删除字符串的一部分 然后将结果打印在same颜色作为输入字符串 以下代码将在生成的每一行前面打印 Hello World 颜色
  • iOS itunesconnect 沙箱测试账户(无效年份)

    这太奇怪了 上周我创建了一个测试用户帐户 一切都很好 但今天 它要求我添加出生年份 正如您在下面的屏幕截图中看到的那样 没有年份字段要填写 它却要求填写 苹果 你是认真的吗 如果我做错了什么 请告诉我 UPDATE 看来这是苹果页面上的一个
  • 如果未实现功能,则在链接时启用错误

    我注意到 当使用 G 链接项目时 如果有已声明但未实现的函数 则不会出现错误 除非我尝试调用它们 Q1 如果声明了函数但未实现 是否可以启用错误 或至少警告 Q2 为什么会有这种行为 Note 我在用G 4 7 0 ld 2 22如果那是
  • 标题中的离子导航选项卡

    嘿 我有一个关于离子导航的问题 我的应用程序的主要导航位于页脚中 但我想在标题中添加一个信息选项卡 我也希望此选项卡有它自己的视图 所以我将其设置如下所示
  • 更改所有页面的背景颜色 WP7

    有没有办法改变所有页面的背景颜色 或者我只需要改变LayoutRoot每页上的颜色 您可以做的是创建一个应用背景颜色的样式 您仍然需要将该样式应用到每个页面 但之后如果您需要进行更多更改 则只需更改样式即可 应用于页面的示例样式可以在以下位
  • 如何将 matplotlib 图保存为 .png 文件

    我有一段代码是从工作中的合作者那里获得的 这段代码生成如下图所示的图 绘图的示例图像 https i stack imgur com oJJLZ png 它通过引用另一段代码中的另一个函数来实现这一点 我不想以任何方式改变这一点 我想做的是
  • PHP 会话固定/劫持

    我正在尝试更多地了解 PHP会话固定 https www owasp org index php Session fixation以及劫持以及如何预防这些问题 我在 Chris Shiflett 的网站上阅读了以下两篇文章 会话固定 htt
  • 在 Eclipse IDE 中调试 Java 时将异常捕获为表达式

    Java 开发人员的日常调试情况是抛出异常 然后您需要深入调试器以找出抛出异常的原因 通常 您会尝试在引发异常之前设置一些断点 并希望能够确定导致该异常的情况 在 Eclipse 中 断点可以定义一个表达式 仅当变量 x 等于值 y 时才会
  • 您的 Xcode 版本对于您的 iOS 版本来说可能太旧

    我已将手机的操作系统版本更新至 iOS 14 并于今天将 Xcode 更新至版本 12 但是当我尝试通过 Android Studio 在 iPhone 11 iOS 14 上构建 Flutter 应用程序时 出现以下错误 Your Xco
  • 如何访问 Wasm (Rust) 中的 JS 对象属性?

    我正在使用 wasm bindgen 并且有以下功能 wasm bindgen pub fn obj o JsValue console log 1 o 在js中我调用这个函数obj name john 它工作得很好 但是当我尝试时cons
  • MS Access 找不到项目或库错误

    我正在开发一个专为我使用而构建的访问数据库 我熟悉编写 VBA 代码来执行功能 但是 我根本不熟悉调试某些错误 数据库中有一个表单 允许我清理和操作我可以从计算机中选择的文件中的数据 它使用一个文件夹作为主根来查看我向表单提供该文件夹中文件
  • 如何让 Spotlight 更容易找到自定义 iOS 应用

    我在我的设备上编写了很多小测试应用程序 我可以将一些元数据添加到应用程序中 以便它更容易出现在 Spotlight 搜索中吗 例如 我制作了一个名为 Lavado 的洗衣计时器应用程序 当我搜索 计时器 或 洗衣房 时 可以使其出现在 Sp
  • 导入函数中的 __globals__ 与主模块中函数的 __globals__ 有很大不同

    File a py def f pass File main py import a print f globals print a f globals def g pass print g globals print g globals
  • VB.NET 中的控件数组

    如何在 VB NET 中制作按钮的控件数组 就像在 Visual Basic 6 0 中一样 语法有可能像下面这样吗 dim a as button for each a as button in myForm a text hello n
  • 如何将 JOptionPane 转换为 JDialog

    我需要将 JOptionPane 转换为 JDialog 因为我需要摆脱那个古怪的 确定 按钮 下面是代码 JOptionPane showMessageDialog null Interface caption JOptionPane W
  • 列出字典中以<用户输入>开头的所有单词

    如何编写一个程序 让用户输入一个字符串 然后该程序生成一个以该字符串开头的单词列表 Ex 用户 和 方案 退位 收腹 绑架 Thanks 编辑 我正在使用 python 但我认为这是一个相当独立于语言的问题 Use a trie http
  • 在 C++ 中将枚举值映射到字符串

    有没有办法在运行时将枚举的值映射到名称 我正在与 GCC 一起构建 我知道 GDB 可以做到这一点 并且我愿意使用一些不可移植且会破坏调试数据的东西 Edit 我正在寻找一种解决方案 不需要修改原始枚举声明 也不需要手动复制映射函数中的所有