我觉得GUID / UUID问题在这里已经完成,但我似乎无法找到我正在寻找的东西。我需要一个能在C中生成V4 GUID的函数,即与C#中的Guid.NewGuid基本兼容的函数。
这必须适用于Windows(XP,Server 2003/8等)和3种不同的Unix发行版(AIX,Sun和HP)。
我已经看过一些规范白皮书,有些甚至有一些示例实现,但似乎总是存在适当的随机数问题,或者它们只生成V1或V3 UUID等。{{3对于UUID来说,我指的是几个示例库,但这些对于我在这里要完成的工作来说太重了。
我非常强烈地感觉到我可以自己实现一些东西,但是如果有一些非常简单和轻量的东西我可以放弃,我不想浪费时间重新发明轮子。任何人都有东西或知道什么?
感谢。
答案 0 :(得分:10)
CoCreateGuid是所有Windows形式的标准配置。 Linux标准是libuuid,它是所有Linux版本的标准,应该是轻量级的。我不知道任何适用于Windows和Unix的库。我认为Windows和Linux的#if
分支实际上是合适的。
答案 1 :(得分:2)
事实上,CoCreateGuid()调用了UuidCreate()。生成的数据类型(UUID,GUID)完全相同。在Windows上,您可以使用这两个函数来创建GUID