我正在使用GNOME技术编写GUI应用程序,我需要为RDF文件中的资源定义UUID。
我正在用C ++编写,但我不介意使用C库并将其包装在我自己的C ++包装器中。我也更喜欢使用现有的公共库,而不是在第三方库上添加依赖项。
我发现了两个似乎是标准的库,libuuid(作为util-linux的一部分附带Linux内核)和OSSP uuid库,它具有C ++绑定。
我的系统上没有程序使用OSSP uuid库,但我的整个桌面依赖于libuuid包,可能是因为内核本身依赖于它。
问题是,我应该使用哪一个?有差异还是我可以随意选择?我不知道为什么会有不同的实现,但我想选择一个并坚持下去。
答案 0 :(得分:4)
如果您还在Linux上,可能最好的选择是使用libuuid
。我的意思是,每个人都在使用它,这是一个非常好的库。
您必须依赖所选的库,并且很有可能libuuid
已存在于您的用户系统中。您注意到您的系统上没有程序使用OSSP
,我的所有系统都是如此。那么为什么要打扰并使用一些...让我们称之为第三方库...当你已经有一个其他人使用的流行图书馆并且已知工作得很好时(我并不是说OSSP
更糟糕的是,它也相当不错)?
我不知道有任何理由更喜欢OSSP uuid
而不是libuuid
。
嗯,我应该注意到你可以简单地从/proc/sys/kernel/random/uuid
读取UUID,但这并不像使用C库那么有趣,对吗?
答案 1 :(得分:0)
去libuuid,它有更广泛的用途,并且更容易获得反馈并在遇到问题时查找文档。