c++ - 将枚举值映射到 C++ 中的字符串

标签 c++ debugging enums

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

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


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

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

最佳答案

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

也许它可以在 Perl 脚本中完成?

关于c++ - 将枚举值映射到 C++ 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1884229/

相关文章:

java - 如何在java中将一个枚举转换为另一个枚举?

debugging - 如何使用 STL IO 将文本输入 Visual Studio 输出窗口?

c# - 确定枚举值是否不是 C# 中的复合值

c++ - 链表删除元素出现随机整数

c++ - 整数到类的映射(模板)

java - 为什么 C++ 在拓扑排序上比 Java 慢?

c++ - 如何将其他 .wo、.so、.a 文件链接到当前 cuda 编译

c - 在哪里可以找到 C 调试器教程?

c - 尝试单步执行代码时 gdbserver 锁定

c++ - 无法将枚举值传递给递归模板 (C++)