我正在尝试从 C 编译器获取与错误消息一起打印的错误号或错误 ID。我目前正在使用 GCC,但如果使用 Clang 会更容易,那也没关系。
这是我收到的错误消息的示例:
error: syntax error before '}' token
这就是我想要的样子:
error(ERRID): syntax error before '}' token --
ERRID
是该错误的数字或唯一字符串。
GCC 或 Clang 可以实现这一点吗?如果可以的话,该怎么做?
我希望此功能使错误消息可搜索和识别,以便轻松解析和分析错误。
最佳答案
错误消息已本地化,您可以更改您语言的错误消息目录以满足您的需求。
或者,您可以修改一些报告错误的 channel ,例如使用您的插件(甚至某些 MELT 扩展)。
但我很惊讶你会问,GCC 源代码包含错误消息目录,在 gcc/po/ 中源代码的子目录。
请注意,消息目录使用 gettext(3)机器,因此消息 ID 实际上是英语(C 语言环境)消息本身。
关于编译器错误消息定制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28325097/