编译器错误消息自定义

时间:2015-02-04 15:28:26

标签: c gcc compiler-errors clang

我试图使用来自我的C编译器的错误消息打印错误号或错误ID。我目前正在使用GCC,但如果使用Clang会更容易,那也没关系。

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

error: syntax error before '}' token

这就是我想要的方式:

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

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

这可能与GCC或Clang有关吗?如果有可能,怎么做?

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

1 个答案:

答案 0 :(得分:0)

错误消息已本地化,您可以更改语言的错误消息目录以满足您的需求。

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

但令我感到惊讶的是,您在GCC源代码中包含一个错误消息目录,位于源代码的gcc/po/子目录中。

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