2010-11-27 114 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編程環境'中看到樣式。

對於此類錯誤消息,沒有完全標準的工具 - 函數或宏。 (我有一個廣泛和全面的錯誤報告功能,可以在消息前打印程序名稱。)