项目模块二:日志宏

一、代码展示

二、补充知识

1、LOG(level, format, ...)

format 是用于宏识别格式化,类似于 printf("%s", str); 里面的 "%s"

... 不定参,传入宏的参数除了 level, format, 还有不确定个数的参数。

2、红色 \

由于宏只能写在一行,用 \ 对换行进行转义就能表示同一行。

3、获取时间

先用函数 time() 获取 time_t 类型,再用函数 localtime 获取结构体指针 struct tm*,最后用函数 strftime 获取结构体里面的时间。

4、FILE 和 LINE

FILE 表示当前程序运行的文件名。

LINE 表示当前程序运行到的行号。

5、##VA_ARGS

VA_ARGS 是对 LOG(level, format, ...) 传入的不定参的使用。

表示可以忽略format

相关推荐
白杨尚青9 小时前
C++进阶篇(五):红黑树——四条规则、三种插入情况与旋转变色
开发语言·数据结构·c++·stl·红黑树·平衡二叉树
.道阻且长.9 小时前
Linux基本开发工具:gdb和cgdb的使用
linux·运维·服务器·开发语言
starzy19909 小时前
深入理解Scala匿名函数:函数式编程基石
开发语言·scala
apcipot_rain10 小时前
C++转Java日记(05)
java·开发语言·c++
apcipot_rain19 小时前
C++转Java日记(04)
java·开发语言·c++
云和数据.ChenGuang20 小时前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
蜗牛一步步往上爬1 天前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
张张123y1 天前
DSH 插件调试避坑:client.js 设置面板、热重载与高频报错排查表
开发语言·javascript·人工智能·开源·ecmascript·后端开发·ai agent
冻柠檬飞冰走茶1 天前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
FRing031 天前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2