以下是源文件片段:
#define TEST 34
#define PRINT_CONCAT(a, b) \
printf("%d\n", a##b)
使用GCC
编译并将此源文件链接为带有标志-ggdb3 -O3
的二进制文件,然后使用gdb
运行应用程序将显示以下行为:
(gdb) p TEST
$3 = 34
(gdb) p PRINT_CONCAT
No symbol "PRINT_CONCAT" in current context.
有没有办法让GDB以某种方式扩展函数宏?