C/C++ 打印源文件名和行号函数名的宏

__FILE__             宏在预编译时会替换成当前的源文件名
__LINE__             宏在预编译时会替换成当前的行号
 __FUNCTION__   宏在预编译时会替换成当前的函数名称

时间: 2024-08-02 16:06:47

C/C++ 打印源文件名和行号函数名的宏的相关文章

打印文件名、函数名和行号的方法

java打印文件名.函数名和行号的方法:Log.d(TAG, new Exception().getStackTrace()[0].getMethodName()); //函数名 Log.d(TAG, Thread.currentThread().getStackTrace()[2].getMethodName()); //函数名 Log.d(TAG, ""+Thread.currentThread().getStackTrace()[2].getLineNumber()); //行号

Java中获取文件名、类名、方法名、行号的方法

??在C语言中,可以通过宏FILE.LINE来获取文件名和行号,在Java语言中,则可以通过StackTraceElement类来获取文件名.类名.方法名.行号,具体代码如下: public static int getLineNumber( ){ StackTraceElement[] stackTrace = new Throwable().getStackTrace(); return stackTrace[1].getLineNumber( ); } public static Stri

Log4j2:异步日志中打印方法名和行号信息

1. 解决方案 异步logger,还需要在pom.xml中添加disruptor的依赖: includeLocation结合异步logger使用,当其设置为true时,才会显示具体的行号,以及日志所在的类名: 如果设置为false,哪怕<Pattern>设置了输出行号也不会显示出来: 2. pom配置 <dependency> <groupId>com.lmax</groupId> <artifactId>disruptor</artifa

标示符(变量名、类名、函数名、常量名等)命名规则

由26个英文字母大小写,数字:0-9,符号:_.$组成. 规则: 1.数字不可以开头 2.不可以使用关键字 例如:class就不可以,因为class是关键字. 3.不可以包含“_.$”以外的特殊符号,例如:“DemoTest”就不可以,其中的空格就是特殊符 号. 一些常用命名规则: 包名:多单词组成时所有字母都小写. 例如:xxxyyyzzz    类名接口名:多单词组成时,所有单词的首字母大写.例如:XxxYyyZzz变量名和函数名:多单词组成时,第一个单词首字母小写,

C/C++ 打印文件名、行号、函数名的方法

转自:http://blog.csdn.net/cabinriver/article/details/8960119 今天跟踪一段开源代码的时候,因为对代码不太熟悉,所以要打印一些关键的信息.便顺手整理了一下这个能打印文件名.行号.函数名的宏. 1.打印文件名.行号.函数的两种方式 [cpp] view plain copy /************************************************************************** *  @Copyri

宏定义之二(连接符,可变參数,文件名称,行号,函数名)

宏的高级使用--##,__VA_ARGS__, __FILE__, __FUNCTION__等 转自 http://blog.csdn.net/yiya1989/article/details/7849588 先说一下本文中会提到的内容:##,__VA_ARGS__, __FILE__, __LINE__ , __FUNCTION__等 宏变量: 先举一个样例,会用到上面这些宏: [cpp] view plaincopy #define myprintf(...) printk("[lch]:F

从符号名和偏移量自动获取源和行号

从前,非托管代码开发人员必须非常努力地将代码偏移量与源文件名和行号关联起来.一种方法涉及为每个模块生成.cod文件(程序集列表),然后费力地将指令偏移量与.cod文件的内容进行比较.例如,如果从具有客户机接收到错误BatteryMeter!TemperatureAndBatteryUpdaterThread+0xd0,可以返回BatteryMeter.exe的.cod文件,查找TemperatureAndBatteryUpdaterThread的代码列表,然后查找位于(或靠近)偏移量0xd0处的

第十二天-函数名 迭代器

# 函数名的应用:# 函数名命名与变量相同# 函数名就是变量名,一个特殊的变量,与括号配合可以执行函数的变量,函数名存储的是函数的内存地址 # 函数名的内存地址 1 def func(): 2 print("哈哈") 3 4 print(func) # 打印结果:<function func at 0x000002BA13C199D8> 5 # 直接使用函数名得到的是函数名的内存地址 # 函数名可赋值给变量 1 def func(): 2 print("呵呵&qu

python入门基础-三元表达式、命名空间、作用域、函数名本质、闭包

1.三元表达式(三目运算式) #1 三元表达式(三目运算法) #格式为: 为真时的结果 if 判定条件 else 为假时的结果 #另外三元表达式只适合较为简洁的条件判定,较为复杂的判定建议不要用这种方式写代码,因为比较让他人难以理解. a = 10 b = 15 compare = a if a > b else b #谁大返回谁 print(compare) 2.命名空间(namespace) #2 命名空间(namespace) #命名空间是名称和对象的印象,也可以将命名空间理解成一个字典,