[C++] 跨平台的生成GUID方法

string GetGUID()
{
    char szGUID[BUFF_SIZE];
#ifdef WIN32
        GUID uuid;
        CoCreateGuid(&uuid);
#else
        TmUUID_t    uuid;
        TmMsg_CreateUUID(&uuid);
#endif
        tm_snprintf(szGUID, BUFF_SIZE-1, "%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X", 
            uuid.Data1, uuid.Data2, uuid.Data3, uuid.Data4[0], uuid.Data4[1], uuid.Data4[2], 
            uuid.Data4[3], uuid.Data4[4], uuid.Data4[5], uuid.Data4[6], uuid.Data4[7]);

    return string(szGUID);
}
原文地址:https://www.cnblogs.com/hiddenfox/p/3274490.html