C++ 獲取當前正在執行的函數的相關信息

(個人運行環境:win10x64+vs2015經過, 有的環境KUbuntu 8.04.1 x64 g++ 4.2.3也經過了)
主要經過宏來實現:(注意,開頭和結尾都是兩個下劃線)

1. __PRETTY_FUNCTION __ 獲取完整的函數頭信息
聽說Ubuntu能夠調用,可是個人win10+vs2015 雖然有這個方法,可是提示 error C2065: 「__PRETTY_FUNCTION__」: 未聲明的標識符,用__FUCCTION__就能夠了

2. __func__ 或 __FUNCTION__ 獲取函數名
mysql

mainsql


3. __FILE__ 獲取源文件的相對路徑和名字
windows

(windows中)    F:\Work\NewProject\mysql2.cpp
(Ubuntu中)     /scr/main.cc

4. __LINE__  獲取該行代碼在文件中的行號
函數


示例 :
spa

1 int main(int argc,char **argv)
2 {
3       cout<<"Running In "<<__FUNCTION __<<endl;
4 }

輸出的結果是: main
code

相關文章
相關標籤/搜索