【问题标题】:Compiler Error Message Customization编译器错误消息自定义
【发布时间】:2015-02-04 15:28:26
【问题描述】:

我正在尝试从我的 C 编译器获取错误编号或错误 ID 以及错误消息。我目前正在使用 GCC,但如果使用 Clang 更容易,那也可以。

这是我收到的错误消息的示例:

error: syntax error before '}' token

这就是我想要的样子:

error(ERRID): syntax error before '}' token -- 

ERRID 是该错误的数字或唯一字符串。

使用 GCC 或 Clang 可以吗?如果可以,该怎么做?

我希望此功能使错误消息可搜索和可识别,以便于解析和分析错误。

【问题讨论】:

  • 嗯.. 下载 gcc 源并根据您的需要进行修改?
  • @EugeneSh。我希望如果这个功能已经在 gcc 中实现了,修改 gcc 真的需要很长时间来学习。
  • 你可以阅读关于#error的clang文档
  • 你为什么要标记问题clang?您也可以使用 Clang 解决方案吗?不是我知道,而是 Clang 不是 GCC。
  • @5gon12eder clang 或 gcc 如果有与 clang 类似的解决方案,我会接受。

标签: c gcc compiler-errors clang


【解决方案1】:

错误消息已本地化,您可以根据自己的需要更改错误消息目录以适应您的语言。

或者,您可以修改一些报告错误的通道,例如使用您的插件(甚至是一些 MELT 扩展名)。

但我很惊讶你会问,GCC 源代码包含错误消息目录,在源代码的gcc/po/ 子目录中。

注意消息目录使用gettext(3)机制,所以消息ID实际上是英语(C语言环境)消息本身。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多