编译器错误消息定制

标签 c gcc compiler-errors clang

我正在尝试从 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/

相关文章:

C - Linux 上的一个简单的 shell - 命令的一些问题

c - 内存中的代码向哪个方向执行?

c - 关闭套接字后,套接字连接保持已建立状态

mysql - 在 ubuntu oneiric 上编译 mysql 的问题

java - 使用 Java 的 C 语法检查器

c++ - 空闲时间后 libcurl 奇怪崩​​溃

c - GCC 不提示未初始化的变量

c++ - 我从源代码安装了 GCC 5.2,但我不知道如何在 Ubuntu 15.04 上卸载它

c - 在大型项目上运行 Clang-Tidy

types - reason-ml这是类型推断问题吗?