项目模块二:日志宏

一、代码展示

二、补充知识

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

相关推荐
熊猫钓鱼>_>4 小时前
普通用户视角的端侧智能体验手记【鸿蒙心迹】
开发语言·人工智能·华为·智能手机·性能优化·ai编程·harmonyos
瑞雪兆丰年兮4 小时前
JavaWeb-day13-SpringBootWeb事务管理&AOP
java·开发语言·springboot·javaweb·事务·web·aop
布莱克6056 小时前
Swift 常量详解:从 let 到编译期优化
服务器·开发语言·ssh·swift·常量·let
布莱克6056 小时前
Swift 可选类型(Optionals)详解:从原理到实战
开发语言·安全·ssh·swift·optional·可选类型
瑞雪兆丰年兮8 小时前
JavaWeb-day14-SpringBootWeb原理篇
java·开发语言·spring boot·spring·bean·mybatis·javaweb
SomeOtherTime10 小时前
Rust生命周期介绍(AI回答)
开发语言·后端·rust
程序猿打工仔10 小时前
计算机基础(C语言)考编、专技岗
c语言·开发语言·算法
喵本喵叁肆10 小时前
Rényi 差分隐私:把隐私损失看成一族矩(英文原题:Rényi Differential Privacy (CSF 2017))
开发语言·r语言
Hvitur11 小时前
Java - Lambda
java·开发语言·python
xiaoye-duck11 小时前
《C++ 项目:手写大模型接入 SDK》DataManager数据管理模块:SQLite持久化存储
开发语言·数据库·c++·sqlite