C语言五个常用的调试宏

__FILE__: 所在文件名

__FUNCTION__:所在函数名

__LINE__:所在行数

__DATE__:执行日期

__TIME__:执行时间


#include <stdio.h>

/* #给标记自动加上引号 */

// 打印出变量名
#define printNum(x) printf("%s = %d\n", #x, x)
// 打印出函数名
#define printFun(x) printf("%s\n", #x)

/* ## 连接符,用于把两个语言符号组合成单个语言符号 */

#define val(x) val##x
#define num(x) n##x

#define test(x) test##x

void testFun(){
    printf("%s\n", testFun);// 函数名是指针
    printFun(testFun);
}

void test1() {
    printf("test1\n");  
}

int main() {
    printf("%s\n", __FILE__);
    printf("%s\n", __FUNCTION__);
    printf("%d\n", __LINE__);
    printf("%s\n", __DATE__);
    printf("%s\n", __TIME__);

    int a = 0;
    printNum(a);
    testFun();

    int val(1) = 11;// 相当于定义了val1
    int num(2) = 22;// 相当于定义了n2
    val1 = 111;
    n2 = 222;
    printNum(val1);
    printNum(n2);

    test(1)();
    test1();

    return 0;
}



结果:

C语言五个常用的调试宏_第1张图片


你可能感兴趣的:(C语言五个常用的调试宏)