c语言调试使用打印函数名和行号

#include <stdio.h>

#define LOG_TAG "coding_trace"
#define coding_trace(fmt, ...) \
    printf("%s: %s[%d]: " fmt, LOG_TAG, __func__, __LINE__, ##__VA_ARGS__);

int main()
{
	int a = 10;
	/*  Write C code in this online editor and run it. */
	printf("Hello, World! \n");

	coding_trace(" a is %d hello world \r\n",a);
	
   return 0;
}
Hello, World! 
coding_trace: main[13]:  a is 10 hello world 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要打印行号和函数,可以使用预定义的宏 __LINE__ 和 __FUNCTION__。例如: printf("Line %d in function %s\n", __LINE__, __FUNCTION__); 这将打印出当前行号和函数。 ### 回答2: 在C语言中,要打印行号和函数,可以使用预定义的宏 __LINE__ 和 __func__。 __LINE__ 是一个宏,用于获取当前代码行数。我们可以在需要打印行号的地方使用 printf 或其他输出函数,以字符串形式输出 __LINE__,即可打印出当前行号。 __func__ 也是一个宏,用于获取当前所在的函数。同样地,在需要打印函数的地方使用 printf 或其他输出函数,以字符串形式输出 __func__,就可以打印出当前函数的字。 下面是一个简单的示例代码: ```c #include <stdio.h> void printInfo() { printf("行号:%d\n", __LINE__); printf("函数:%s\n", __func__); } int main() { printInfo(); return 0; } ``` 运行上述代码,将会输出: ``` 行号:5 函数:printInfo ``` 这样我们就能够方便地打印行号和函数,以便进行调试或日志记录。 ### 回答3: 要在C语言打印行号和函数,可以使用预处理器中的`__LINE__`和`__FUNCTION__`宏。`__LINE__`会在编译时自动将其替换为当前行数,而`__FUNCTION__`会在编译时自动将其替换为当前函数。 以下是一个示例代码: ```c #include <stdio.h> #define PRINT_LINE_AND_FUNCTION printf("Line: %d, Function: %s\n", __LINE__, __FUNCTION__) void foo() { PRINT_LINE_AND_FUNCTION; } int main() { PRINT_LINE_AND_FUNCTION; foo(); return 0; } ``` 在上述代码中,我们定义了一个为`PRINT_LINE_AND_FUNCTION`的宏,它使用`printf`函数将行号和函数打印到控制台。然后,在`main`函数和`foo`函数中,我们分别调用了`PRINT_LINE_AND_FUNCTION`宏来打印行号和函数。 运行以上代码,输出结果将是: ``` Line: 11, Function: main Line: 6, Function: foo ``` 这样我们就可以在程序中轻松打印行号和函数,以便于调试和定位问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今天6点半起床10点半睡觉和今天早晚运动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值