C++ 获取当前正在执行的函数的相关信息
2012-04-30 00:49
525 查看
http://hi.baidu.com/hetaoos/blog/item/a1bfc3fc91a2c784b801a031.html
今天对C++ 工程里面的类里面的方法进行重新命名,发现以前写的一些调试信息也不得不修改:
如:
int main(int argc,char **argv)
{
cout<<"Running In Function main"<<endl;
}
输出的结果是:Running In Function main
以前,函数名是直接手动写到代码里面的,现在要改还数名,也要同时修改调试语句,这工程量蛮大的,就像找个一劳永逸 的方法。
在网上找到写相关的信息,现在总结下:
(我的运行环境:KUbuntu 8.04.1 x64 g++ 4.2.3)
主要通过宏来实现:(注意,开头和结尾都是两个下划线)
__PRETTY_FUNCTION __ 获取完整的函数头信息
void IPCoreConnect::IPCoreConfirmWrite(unsigned char *p, int k)
__func__ 或 __FUNCTION__ 获取函数名
IPCoreConfirmWrite
__FILE__ 获取文件的 获取源文件的相对路径和名字
/scr/main.cc
__LINE__ 获取该行代码在文件中的行号
现在原来的代码就可以改写成:
int main(int argc,char **argv)
{
cout<<"Running In "<<__PRETTY_FUNCTION __<<endl;
}
输出的结果是:Running In Function int main(int argc,char **argv)
很方便。
其他的,可能还有很多,本人孤陋寡闻,忘达人赐教。
C#获取当前运行的源代码的文件名和当前源代码的行数的方法
http://blog.csdn.net/weizhiai12/article/details/7062854
在C#中记录日志时,为了以后查找错误或者跟踪的方便,最好能记录下出错的源代码的文件名和出错的源代码的行数。
这2个方法如下:
/// <summary>
/// 取得当前源码的哪一行
/// </summary>
/// <returns></returns>
public static int GetLineNum()
{
System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(1, true);
return st.GetFrame(0).GetFileLineNumber();
}
/// <summary>
/// 取当前源码的源文件名
/// </summary>
/// <returns></returns>
public static string GetCurSourceFileName()
{
System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(1, true);
return st.GetFrame(0).GetFileName();
}
今天对C++ 工程里面的类里面的方法进行重新命名,发现以前写的一些调试信息也不得不修改:
如:
int main(int argc,char **argv)
{
cout<<"Running In Function main"<<endl;
}
输出的结果是:Running In Function main
以前,函数名是直接手动写到代码里面的,现在要改还数名,也要同时修改调试语句,这工程量蛮大的,就像找个一劳永逸 的方法。
在网上找到写相关的信息,现在总结下:
(我的运行环境:KUbuntu 8.04.1 x64 g++ 4.2.3)
主要通过宏来实现:(注意,开头和结尾都是两个下划线)
__PRETTY_FUNCTION __ 获取完整的函数头信息
void IPCoreConnect::IPCoreConfirmWrite(unsigned char *p, int k)
__func__ 或 __FUNCTION__ 获取函数名
IPCoreConfirmWrite
__FILE__ 获取文件的 获取源文件的相对路径和名字
/scr/main.cc
__LINE__ 获取该行代码在文件中的行号
现在原来的代码就可以改写成:
int main(int argc,char **argv)
{
cout<<"Running In "<<__PRETTY_FUNCTION __<<endl;
}
输出的结果是:Running In Function int main(int argc,char **argv)
很方便。
其他的,可能还有很多,本人孤陋寡闻,忘达人赐教。
C#获取当前运行的源代码的文件名和当前源代码的行数的方法
http://blog.csdn.net/weizhiai12/article/details/7062854
在C#中记录日志时,为了以后查找错误或者跟踪的方便,最好能记录下出错的源代码的文件名和出错的源代码的行数。
这2个方法如下:
/// <summary>
/// 取得当前源码的哪一行
/// </summary>
/// <returns></returns>
public static int GetLineNum()
{
System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(1, true);
return st.GetFrame(0).GetFileLineNumber();
}
/// <summary>
/// 取当前源码的源文件名
/// </summary>
/// <returns></returns>
public static string GetCurSourceFileName()
{
System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(1, true);
return st.GetFrame(0).GetFileName();
}
相关文章推荐
- C++ 获取当前正在执行的函数的相关信息
- C++ 获取当前正在执行的函数的相关信息
- C++ 获取当前正在执行的函数的相关信息
- C++ 获取当前正在执行的函数的相关信息
- C++ 获取当前正在执行的函数的相关信息
- JAVA 获取当前执行的函数名、当前运行的类名等等信息
- 运行中获取当前执行位置所在类、所在函数等信息
- JAVA 获取当前执行的函数名、当前运行的类名等等信息
- C/C++ 下获取文件的信息,学习 _finddata_t 结构体用法 及相关函数用法的
- JAVA 获取当前执行的函数名、当前运行的类名等等信息
- Windows环境C/C++ 获取当前执行程序路径的两个函数
- 存储过程调用过程中,获取当前正在执行的过程的信息
- SAP中获取当前用户相关信息的两个函数
- #C++#通过libcurl获取当前次HTTP请求的一些相关信息
- bash shell 获取当前正在执行脚本的绝对路径
- bash shell 获取当前正在执行脚本的绝对路径
- 获取当前Windows系统内帐户信息的函数
- Android如何判断当前手机是否正在播放音乐,并获取到正在播放的音乐的信息
- 文件磁盘相关函数[9]-获取当前文件夹 GetCurrentDir
- php获取当前文件所有执行的函数和类