Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于C的UUID库?_C_Linux_Uuid_Pkg Config - Fatal编程技术网

用于C的UUID库?

用于C的UUID库?,c,linux,uuid,pkg-config,C,Linux,Uuid,Pkg Config,我正在寻找一个用于C编程的UUID库,它在大多数现代Linux桌面上安装(或至少可由package manager安装)的可能性是合理的,并且可以使用pkg config 以下两种可能性似乎最为明显: 来自 有没有人有这两种方法的经验,可以推荐其中一种方法,或者推荐第三种方法 我两者都用过,而且我肯定更喜欢util-linux-ng(以前在e2fsprogs中)。为了便于移植,我让我的软件同时支持这两种功能,并使用autoconf/cmake宏来检测安装了哪一个 对我来说,OSSP的主要问

我正在寻找一个用于C编程的UUID库,它在大多数现代Linux桌面上安装(或至少可由package manager安装)的可能性是合理的,并且可以使用
pkg config

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

  • 来自

有没有人有这两种方法的经验,可以推荐其中一种方法,或者推荐第三种方法

我两者都用过,而且我肯定更喜欢util-linux-ng(以前在e2fsprogs中)。为了便于移植,我让我的软件同时支持这两种功能,并使用autoconf/cmake宏来检测安装了哪一个

对我来说,OSSP的主要问题是它毫无理由地滥用C中的面向对象。UUID只是一个128位的数字,可以用char[16]数组表示。UUID通常与另一个结构相关联(UUID用作此类结构的键或标识符),因此如果您可以将该数组内联到结构本身中,这应该是一件好事


使用OSSP UUID,它为您提供一个指向动态分配对象的
UUID\u t*
指针,该对象包含的状态不仅仅是UUID值。如果您处理成千上万的对象,这会明显降低程序速度,使用更多内存,并导致更多内存碎片。最后,为了使OSSP UUID可用,您只需使用它来生成UUID(其中包括4个调用:UUID_创建、UUID_生成、UUID_导出和UUID_销毁),然后自己使用UUID值。使用util linux ng,只需一个调用:uuid_generate。

Juliano,您是否介意分享用于此设置的特定Autoconf配置指令?我现在正在从头开始琢磨,但是作为一个自动工具的新手,我会觉得依靠一些已经在野外成功使用的东西会更好。感谢任何提示…你也可以在OOP中传递数组。像这样的问题在今天的ontopic上或可能在上(问题发布时网站并不存在)。