星期四, 12月 29, 2005

C 的printf debug output , 使用 __FILE__和__LINE__

從廠商的code看到的。----- 或許很多programmer 都已經知道了。

沒有ICE的場合,常常要用printf將message送出去。
配合C 的predefined macro __FILE__ 和 __FILE__ 可以做出漂亮的debug output message。

__FILE__ 代表目前source code file name,是一個字串(char*)
__LINE__ 代表目前的行數,是integer。

所以用
 printf("[%s:%d] error here!!\n",__FILE__, __LINE__);
可以輸出:
[test.c:121] error here!!
這樣在多module (.c) file的場合,也可以迅速的知道message是由那一個module(.c) file送出的,乃至於是在source code中的第幾行,都可以知道。

上面的例子就是在test.c 的121行。

沒有留言:

網誌存檔