C++ static char THIS_FILE[] = __FILE__;
__FILE__ 爲預編譯器常量,返回當前編譯的文件名,還有比較常用的幾個預編譯器常量,
__LINE__ 編譯器在編譯的文件的第幾行;__DATE__ 返回當前的日期Jul-20-2004;
__TIME__ 返回當前的時間hh:mm:ss;
__TIMESTAMP__的預定義的編譯器宏始終返回時間戳信息在太平洋標準的時間內無論本地時間和CL.EXE 的運行位置在計算機上的時區。
__STDC__條件編譯,意思是:如果定義了標準C或c++,那麼編譯這句話後面直到#endif 以前的源代碼。
_STDC__cplusplus這兩個都是標準宏,_STDC_表示是是否符合標準C
_cplusplus表示是否是C++
如下爲宏定義:
#ifdef _DEBUG //如果定義了_DEBUG #define new DEBUG_NEW //則定義new爲DEBUG_NEW #undef THIS_FILE //反定義,即清除THIS_FILE的宏定義 static char THIS_FILE[] = __FILE__; #endif //結束宏定義
__FILE__標準C++推薦編譯器實現時預定義的宏
看看Thinking in C++(C++編程思想)
__FILE__是由編譯器定義的宏,表示當前文件名。
常用於調試。報告錯誤時,我們可以方便地知道是哪個文件出錯
http://blog.sina.com.cn/s/blog_69d66cf10100kpcn.html