libuuid的使用
摘自:https://www.jianshu.com/p/3f9c2e8ac9d0
1 #include <stdio.h> 2 #include <uuid/uuid.h> 3 // yum -y install libuuid-devel.x86_64 4 5 int test_libuuid() 6 { 7 uuid_t uuid1, uuid2, uuid3, uuid4, uuid5; 8 char uuid1_str[37], uuid2_str[37], uuid3_str[37], uuid4_str[37]; 9 10 uuid_generate(uuid1); 11 uuid_unparse(uuid1, uuid1_str); 12 fprintf(stdout, "uuid1 result: %s\n", uuid1_str); 13 14 15 uuid_generate_random(uuid2); 16 uuid_unparse_lower(uuid2, uuid2_str); 17 fprintf(stdout, "uuid2 result: %s\n", uuid2_str); 18 19 uuid_generate_time(uuid3); 20 uuid_unparse_upper(uuid3, uuid3_str); 21 fprintf(stdout, "uuid3 result: %s\n", uuid3_str); 22 23 uuid_generate_time_safe(uuid4); 24 uuid_unparse(uuid4, uuid4_str); 25 fprintf(stdout, "uuid4 result: %s\n", uuid4_str); 26 27 uuid_parse(uuid1_str, uuid5); 28 int ret = uuid_compare(uuid1, uuid5); 29 fprintf(stdout, "uuid1 compare uuid5: %d\n", ret); 30 31 ret = uuid_is_null(uuid1); 32 fprintf(stdout, "uuid1 is null: %d\n", ret); 33 uuid_clear(uuid1); 34 ret = uuid_is_null(uuid1); 35 fprintf(stdout, "uuid1 is null: %d\n", ret); 36 37 ret = uuid_type(uuid2); 38 fprintf(stdout, "uuid2 type: %d\n", ret); 39 ret = uuid_variant(uuid2); 40 fprintf(stdout, "uuid2 variant: %d\n", ret); 41 42 struct timeval tv; 43 time_t time_reg = uuid_time(uuid3, &tv); 44 fprintf(stdout, "uuid3 time is: (%ld, %ld): %s\n", tv.tv_sec, tv.tv_usec, ctime(&time_reg)); 45 46 return 0; 47 } 48 49 int main() 50 { 51 test_libuuid(); 52 53 return 0; 54 }
gcc uuid.c -o uuid -luuid
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2020-12-31 mxml 详解