C语言中预定义宏的用法和使用场景

嵌入式技术

1372人已加入

描述

前言

在C语言中,预定义宏是由编译器提供的一组特殊标识符,可以在程序中直接使用,无需进行额外的定义。

预定义宏可以提供有关源文件、行号、日期、时间和函数名等信息,对于调试和日志记录非常有用。

一、人物简介

  • 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。
  • 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。

二、功能介绍

以下是本教程中介绍的预定义宏:

  1. ** FILE **:当前源文件的文件名。
  2. ** LINE **:当前源文件中的行号。
  3. ** DATE **:当前日期。
  4. ** TIME **:当前时间。
  5. ** func **:当前函数名。

三、使用场景

预定义宏在以下场景中非常有用:

  1. 调试信息:通过__FILE__和__LINE__宏,您可以在调试过程中打印当前源文件和行号,帮助定位代码问题。
  2. 日志记录:使用__DATE__和__TIME__宏,您可以在日志中记录当前日期和时间,方便追溯日志发生的时刻。
  3. 函数名标识:通过__func__宏,您可以在函数中输出当前函数的名字,有助于代码审查和日志记录。

四、示例代码

  • 下面是一个示例代码,演示了如何使用预定义宏:
#include < stdio.h >

int main() {
    // __FILE__:当前源文件的文件名
    printf("当前源文件名:%sn", __FILE__);

    // __LINE__:当前源文件中的行号
    printf("当前行号:%dn", __LINE__);

    // __DATE__:当前日期
    printf("当前日期:%sn", __DATE__);

    // __TIME__:当前时间
    printf("当前时间:%sn", __TIME__);

    // __func__:当前函数名
    printf("当前函数名:%sn", __func__);

    return 0;
}
  • 运行结果
当前源文件名:pre_macro.c
当前行号:8
当前日期:Jun 30 2023
当前时间:15:04:09
当前函数名:main

小结

通过这篇文章,我们学会了

1、常见的几个预定义宏的用法和使用场景

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分