Tag: guid

如何在C中生成GUID?

我想生成guid以插入到SQLite数据库中(即不支持db本身)。 但是,我想控制某些属性: 用于生成增加的guid值的顺序。 电脑独立。 数据库是公共的,可能/可能不希望guids允许某人将数据跟踪回特定的机器。 ‘足够’随机性。 guid是db中的键,它将与许多其他dbs合并,并且可以变得非常大,这意味着伪造像许多算法那样的guid并不好。 我可以处理使用系统特定的API,但请链接Windows和Linuxfunction,像SQLite这样的东西是首选,我可以使用别人写的代码。 我也更喜欢可以在商业应用中使用的代码。

在C中简单生成GUID

我觉得这里的GUID / UUID问题已经完成,但我似乎无法找到我正在寻找的东西。 我需要一个能在C中生成V4 GUID的函数,即与C#中的Guid.NewGuid本质上兼容的东西。 这必须适用于Windows(XP,Server 2003/8等)和3种不同的Unix发行版(AIX,Sun和HP)。 我已经看过一些规范白皮书,有些甚至有一些示例实现,但似乎总是存在适当的随机数问题,或者它们只生成V1或V3 UUID等.UUIDs的维基百科页面指出了我在几个示例库中,但这些对于我在这里要完成的工作来说太重了。 我非常强烈地感觉到我可以自己实现一些东西,但是如果有一些非常简单和轻量的东西我可以放弃,我不想浪费时间重新发明轮子。任何人都有东西或知道什么? 谢谢。

C语言中__uuidof的替代

我正在使用一个使用DirectX的C项目,我遇到了一个问题。 某些DX调用需要IID对象,通常使用__uuidof生成。 这需要做的一件事是创建一个RenderTargetView。 DirectX示例/教程执行此操作: ID3D11Texture2D* pBackBuffer = NULL; hr = g_pSwapChain->GetBuffer( 0, __uuidof( ID3D11Texture2D ), ( LPVOID* )&pBackBuffer ); 当我尝试在我的C代码中调用__uuidof时,出现编译错误: Error 19 error C4233: nonstandard extension used : ‘__uuidof’ keyword only supported in C++, not C DirectX有一个C接口,所以我想必须有办法做到这一点,但我不知道它会是什么。 谁知道?