项目模块二:日志宏

一、代码展示

二、补充知识

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

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

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

2、红色 \

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

3、获取时间

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

4、FILELINE

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

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

5、##VA_ARGS

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

表示可以忽略format

相关推荐
“AI国潮设计-小江”12 分钟前
【Python实战】SDXL精准控制“普宁英歌舞×星空蛋糕”IP落地,附核心Prompt与商用授权思路
开发语言·人工智能·python·prompt·aigc
k4m7v2pz16 分钟前
从 Python 搬到 Rust:pyglet MIDI DAW 变成 egui 鬼畜采样器的迁移复盘
开发语言·python·rust
C++ 老炮儿的技术栈19 分钟前
MFC CPtrArray的用法
开发语言·数据结构·c++·算法·mfc·c
佳児素花痴╮22 分钟前
C++基础速通
开发语言·c++
是立不是利26 分钟前
深入理解JavaScript事件委托
开发语言·前端·javascript
啊阿狸不会拉杆27 分钟前
《计算机网络-自顶向下方法》6.4 交换局域网 读书笔记
开发语言·计算机网络·php
心中有你021441 分钟前
Python Tkinter 情侣恋爱日记桌面小程序(本地文件存储,无数据库)
开发语言·python
疯狂打码的少年1 小时前
【计算机网络】OSI/RM七层模型(层次结构、各层功能速览)
开发语言·笔记·计算机网络·php
小灰灰搞电子1 小时前
Rust+Slint 实现ModbusRTU从机调试助手源码分享
开发语言·rust·modbusrtu
程序喵大人1 小时前
【C++入门】值类别与表达式 - 03 引用绑定:为什么有些参数能接住临时对象
开发语言·c++·引用绑定