C的UUID库?

pto*_*ato 13 c linux uuid pkg-config

我正在寻找一个用于在C语言编程的UUID库,它有可能在大多数现代Linux桌面上安装(或者至少可以由软件包管理器安装),并可以使用pkg-config.

以下两种可能性似乎最为明显:

有没有人有这两个经验,可以推荐一个,或第三个可能性?

Jul*_*ano 18

我使用了两者,我绝对更喜欢util-linux-ng(以前在e2fsprogs中).为了便于携带,我支持两者并使用autoconf/cmake宏来检测安装了哪一个.

对我来说OSSP的主要问题是它没有充分的理由滥用C语言中的面向对象.UUID只是一个128位的数字,可以用char [16]数组表示.UUID通常与另一个结构相关联(UUID用作此类结构的键或标识符),因此如果您可以在结构本身中内联该数组,那么它应该是好的.

使用OSSP UUID,它为您提供了一个uuid_t*指向动态分配对象的指针,该对象保存的状态多于UUID值.如果您使用成千上万个对象,这会使程序变慢,使用更多内存并导致更多内存碎片.最后,为了使OSSP UUID可用,您必须仅使用它来生成UUID(涉及4个调用:uuid_create,uuid_make,uuid_export和uuid_destroy)并自行处理UUID值.使用util-linux-ng,它只需一个调用:uuid_generate.