ubuntu下C语言生成UUID方法一
1.UUID介绍
UUID 是 通用唯一识别码(Universally UniqueIdentifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。
其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。
在这样的情况下,就不需考虑数据库创建时的名称重复问题。目前最广泛应用的UUID,是微软公司的全局唯一标识符(GUID),而其他重要的应用,则有Linux
ext2/ext3文件系统、LUKS加密分区、GNOME、KDE、Mac OSX等等。另外我们也可以在e2fsprogs包中的UUID库找到实现。
2.ubuntu下安装UUID
sudo apt-get install uuid-dev
3.查找安装完链接库的位置 画重点
我们经常会通过apt-get来安装预编译的库或软件,这种安装方式非常简单快速,但是安装的库都到哪里了呢?
如果我们自己的c++工程需要链接这个库又该怎么做呢?
apt-get install安装目录是包的维护者确定的,不是用户,安装路径可以通过一下命令查找:
dpkg -L uuid-dev //dpkg -L 链接库名
找到 /usr/lib/x86_64-linux-gnu/libuuid.so
4.添加库到CMakeList中去
add_executable(job main.cpp)
target_link_libraries(job /usr/lib/x86_64-linux-gnu/libuuid.so)
add_executable(项目名 源文件名.c/.cpp) //用来添加可执行文件的函数,一般要添加库文件,都先使用它添加,在引入
target_link_libraries(项目名 引入的库文件路径和名称) //用来引入库文件的命令
总结:
以后引入别的库文件,只要把libuuid.so和它的路径换了即可,在改一下项目名字(换成你自己的)
5.测试代码
#include <uuid/uuid.h>
#include <stdio.h>
int main()
{
uuid_t uu;
int i;
uuid_generate( uu );
printf("UUID为: ");
for(i=0;i<3;i++) //uuid号的长度,每个长度是由两个2个字符组成的,所以i=4时(uuid长度为4),uuid共有8个字符
{
printf("%X",uu[i]);
}
printf("\n");
return 0;
}
测试结果: