2005/07/28

有趣的程式問題之解答

上次那題有趣的程式問題,已經從 Shardad 那裡得到解答了。
#define DbgShowf(format, ...) printf("%s(%d): "format, __FUNCTION__, __LINE__, ##__VA_ARGS__)
這只是一個很接近的答案,還有一些問題沒有解決。
例如該死的 M$ VC 不支援這樣的 variable length arguments 寫法,還有怎麼印出 class 名字(如果用 __PRETTY_FUNCTION__ 會印出太多東西)。
原來 C/C++ 已經定義好一些 macro,以前完全不知道,現在又讓我學到一些密技了。
另外還有 __FILE__ 代表檔名,__DATE____TIME__ 代表 compile 的日期時間等等。

沒有留言: