大家都知道,在C语言中,我们可以通过宏FILE、 __LINE__来获取文件名和行号,而在Java语言中,则可以通过StackTraceElement类来获取文件名、类名、方法名、行号,具体代码如下: public static int getLineNumber( ){ StackTraceElement[] stackTrace = new Throwable().getStackTrace(); return stackTrace[1].getLineNumber...
与__FILE__宏和__builtin_FILE()函数功能类似,它只包含当前编译单元的文件名,不包含任何路径信息(理论上是这样,实际往往跟__FILE__内容一致)。 使用__PRETTY_FUNCTION__宏 __func__宏可以获取当前函数名,而__PRETTY_FUNCTION__宏可以获取当前函数的带有参数和返回类型的完整签名,其中包含了源码文件路径。 使用...
这个宏可以为特定的类生成获取其成员变量的函数。 综上所述,在使用宏按文件名生成代码时,我们需要理解预处理器的工作方式、宏定义、条件编译、宏展开技巧及综合应用方法。通过精心设计宏的使用,可以大幅度提高编码效率,减少重复的工作,同时保持代码整洁有序。在实际应用中,根据具体的编码环境和需求,选择最合适的宏生成...
当然还要对__FUNCTION__宏作点修饰,因为这个宏只是在函数里面才起作用 #ifndef __FUNCTION__ #define __FUNCTION__ "Global" #endif 这样我们的异常类里面就包含我们要的文件名,函数名,源代码行的信息了,使用vc的时候你还能使用一点小技巧,如果你把这个异常信息输出到vc的debug的output窗口的时候,能双击定位到发...
中把标识符写成函数的形式,就可以认为是类函数宏。 #在宏定义中的作用 可以把符号转变成字符串。 #incldue <stdio.h> #define PSQR(x) printf("the square of" #x "is %d.\n",(x)*(x)) int main(void) { int y =4; PSQR(y);
当前运行文件名宏 c:\users\admin\desktop\test\define.cpp 当前运行函数宏 main 当前运行函数宏 main 1. 2. 3. 4. 5. 6. linux输出结果 程序最后编译日期宏 May 8 2020 程序最后编译时间宏 11:19:00 当前行数宏 9 当前运行文件名宏 define.cpp ...
ATEN 宏正 四川 成都 CS62US KVM分销服务商 2进1出 多电脑KVM切换器 2口USB键鼠共享器 支持音频 CS62US-AT ¥389.00 查看详情 ATEN 宏正 四川成都 KVM服务分销商 CE100 100米KVM网线延长器 VGA转rj45信号放大器延伸器工业级 CE100-AT-Z ¥770.00 查看详情 ATEN 宏正 CS62S 2端口PS/2圆口 VGA KVM多电...
Tools / 获取 c 文件函数名的几种方法 目录: 1.方法1:grep配合正则表达式2.方法2:nm类的调试工具3.方法3:开源软件ctags4.使用listfunction的方法简单分析LinuxInput子系统5.相关参考 1. 方法1: grep 配合正则表达式 1) private 函数: $grep-E'^(\w+)?\w+(\w+)?\w+()?\(.*)'SDL_events.c-o|...
预处理器的主要任务包括 宏替换、文件包含、条件编译等。 预处理指令: (1)预处理指令应该放在代码的开头部分。 (2)预处理指令都以# 开头,指令前面可以有空白字符(比如空格或制表符),# 和指令的其余部分之间也可以有空格,但是为了兼容老的编译器,一般不留空格。(3)预处理指令都是一行的,除非在行尾使用反斜杠,...
1.3 内置宏 __FILE__//被编译的文件名: file1.c__LINE__// 当前行号:25__DATE__//编译时的日期: Jan 31 2012__TIME__//编译时的时间: 17:01:01__STDC__//编译器是否遵循标准C规范 1 内置宏的使用 #include<stdio.h>#include<malloc.h>#define MALLOC(type, x) (type*)malloc(sizeof(type...