2010-11-27 103 views
1

像GCC,RM,CP等常用程序似乎遵循一个模式在报道他们的错误是这样的:标准错误报告

程序:错误

例如:

$ gcc 
gcc: no input files 

是在我自己的C程序中应该调用一些标准函数或宏来以标准方式报告错误?

回答

2

没有宏(我知道的)。但是,以下是用于格式化错误输出的相关standard

2

如果您不知道perrorstrerror(等),他们值得了解。它们不是以任何方式通用的,但至少在某些情况下可能会有所帮助。

+0

另外http://libexplain.sourceforge.net/如果您发现perror/strerror仍然太麻烦。 – ephemient 2010-11-27 04:45:41

2

它可以追溯到Unix编程的最早日子。始终建议错误消息以生成它们的命令的名称为前缀,尤其是如果在命令管道中发生错误,您可以确定哪些命令会生成错误消息。您可以在K & R第1版中的某些示例程序(不全是)以及Kernighan & Plauger的'软件工具'以及Kernighan & Pike的'UNIX编程环境'中看到样式。

对于此类错误消息,没有完全标准的工具 - 函数或宏。 (我有一个广泛和全面的错误报告功能,可以在消息前打印程序名称。)