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__ 获取函数名
main
3. __FILE__ 获取源文件的相对路径和名字
(windows中) F:\Work\NewProject\mysql2.cpp
(Ubuntu中) /scr/main.cc
4. __LINE__ 获取该行代码在文件中的行号
示例 :
1 int main(int argc,char **argv) 2 { 3 cout<<"Running In "<<__FUNCTION __<<endl; 4 }
输出的结果是: main