宏日志和UUID
一个简单的宏日志,C++生成UUID
1 |
|
#include <ctime>
包含处理日期和时间的库,用于获取当前时间和格式化时间。time_t t = time(NULL);
:获取当前时间。char time_tmp[32] = { 0 };
:初始化一个字符数组,用于存储格式化后的时间字符串。strftime(time_tmp,sizeof(time_tmp), "%m-%d %H:%M:%S", lt);
:使用strftime
函数将时间格式化为"MM-DD HH:MM:SS"
的形式,并存入time_tmp
数组。函数原型:size_t strftime(char *s, size_t max, const char *format, const struct tm *tm);
`
format, …
:这是一个带有可变参数的宏,
format是一个格式化字符串,
…` 表示可以接受任意数量的参数(可变参数)。__FILE__
,__LINE__
分别代表文件位置和哪一行。##__VA_ARGS__
:可变参数,用于替换用户传入的其他参数。##
的作用是当可变参数为空时,删除前面的逗号。
UUID
UUID(Universally Unique Identifier)
- 别名:通用唯一识别码
- 组成:通常由32位16进制字符构成
- 标准形式:
- 包含32个16进制数字字符
- 以连字号分为五段,格式为
8-4-4-4-12
——十六进制位数,共32个字符 - 示例:550e8400-e29b-41d4-a716-446655440000
生成UUID生成方法之一:
- 采用生成
8个随机数字
与8字节序号
相结合的方式,16字节数组
⽣成32位16进制
字符的组合形式来确保全局唯⼀的同时能够根据序号来分辨数据- 生成8个随机数 —— 每个随机数最多
生成方法 —— CPP
1 |
|
宏日志和UUID
https://weihehe.top/2024/09/13/22-04/