C++生成GUID的两种方法
C++生成GUID的两种方法
GUID是软件开发中常用的组件,用于生成唯一的对象,在C#、Java以及Python等语言中,因为它们的标准库比较丰富,因此GUID的生成比较简单,往往一两句代码就能搞定。而C++语言本身以及标准库都没有提供生成GUID的API,因此,无法直接使用C++生成GUID。本文介绍两种利用C++间接创建GUID的方法:1)调用Win32API-CoCreateGuid函数;2)使用Boost库。
使用CoCreateGuid函数
CoCreateGuid是Windows系统本身提供的API函数,位于objbase.h
头文件中,因此,我们必须首先包括该头文件:
include <objbase.h>
调用CoCreateGuid的代码如下所示:
GUID guid;
HRESULT h = CoCreateGuid(&guid);
if (h == S_OK)
ans = GuidToString(guid);
else
throw runtime_error("generate guid failed!");
<