在C语言中,要打印当前函数名,可以使用C99标准引入的__func__预定义标识符,或者某些编译器提供的__FUNCTION__宏。以下是详细的步骤和代码示例: 1. 使用__func__预定义标识符 C99标准引入了__func__预定义标识符,它表示当前函数的名称。你可以直接在printf函数中使用它来打印函数名。 c #include <stdio.h...
#if 1==_DEBUG_TRACE_CMH_ //普通打印 #define TRACE_CMH printf #elif 2==_DEBUG_TRACE_CMH_ //打印文件名、行号 #define TRACE_CMH(fmt,...) \ printf("%s(%d): "##fmt, __FILE__, __LINE__, ##__VA_ARGS__) #elif 3==_DEBUG_TRACE_CMH_ //打印文件名、行号、函数名 #define TRAC...
以下是一个示例代码,演示如何使用dlsym()函数获取函数指针并打印函数名称: 代码语言:c 复制 #include<stdio.h>#include<stdlib.h>#include<dlfcn.h>intmy_function(){printf("Hello, world!\n");return0;}intmain(){void*handle;int(*func_ptr)();constchar*error;// 加载当前进程的动态链接库hand...
C语言打印当前所在函数名、文件名、行号 printf("[%s %s] %s: %s: %d\n", \ __DATE__, __TIME__, __FILE__, __func__, __LINE__); 内核驱动中: #ifdefMY_DEBUGprintk("[%s] %s: %d\n", \ __FILE__, __FUNCTION__, __LINE__);#endif 说明:...
简介:C --- 自定义一个宏打印当前文件名、函数名、行号 1. #include <stdio.h>2.3. #define DEBUG(format,...) printf("[File:%s, Line:%d] "format, __FILE__, __LINE__, ##__VA_ARGS__)4.5.6. int main(void)7. {8. DEBUG("hello world\n");9. return 0;10. }11....
虽然printf() 是输出函数,scanf() 是输入函数,但是它们的工作原理几乎相同。两个函数都使用格式字符串和参数列表。我们先介绍 printf(),再介绍 scanf()。 一、printf() 函数 请求printf() 函数打印数据的指令要与待打印数据的类型相匹配。例如,打印整数时使用%d,打印字符时使用%c。这些符号被称为转换说明(convers...
要在C语言中打印回调函数名,我们可以使用以下方法: - 使用`printf`函数直接打印回调函数名。 - 使用`void *`指针存储回调函数名,并在调用回调函数时打印。 下面是一个简单的示例: ```c #include <stdio.h> typedef void (*CallbackFunc)(int); void print_callback_name(CallbackFunc callback) { printf...
这时候我们可以使用宏定义来封装一个宏打印函数,这个宏打印函数可以显示打印信息所在的文件、行数、函数名等信息。如: #define DBG_PRINTF(fmt, args...) \ {\ printf("<<File:%s Line:%d Function:%s>> ", __FILE__, __LINE__, __FUNCTION__);\ ...
C语言printf()函数 printf()函数用于在输出屏幕(用户屏幕)上打印字符串或数据值或字符串和数据值的组合。printf()函数是在名为“stdio.h” 的头文件中定义的内置函数。当我们想在程序中使用printf()函数时,我们需要使用#include语句包含相应的头文件(stdio.h)。printf()函数具有以下语法: ...