返回> 网站首页 

VS中生成GUID

yoours2016-07-20 14:25:00 阅读 1740

简介一边听听音乐,一边写写文章。

GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。它使用网卡MAC、地址、纳秒级时间、芯片ID码和许多可能的数字,这样保证每次生成的GUID永远不会重复,无论是同一个计算机上还是不同的计算机。

GUID长什么样呢?
{C7B1AFCC-810E-46d0-8157-09FC488D4C71}
 
不用担心GUID的性能问题,因为它生成过程是采用MAC地址、机器时钟等计算的,没有并发问题,所以它一点都不比自增计数器的慢,有时候甚至更快。

    生成GUID,调用CoCreateGuid函数即可,它定义在objbase.h这个头文件中。

#include <windows.h>
#include <stdio.h>
int main()
{
    GUID guid;
    ZeroMemory(&guid, sizeof(guid));
    TCHAR guid_string[1024];
    CoCreateGuid(&guid);
    
    //格式化字符串
    wsprintf(guid_string, TEXT("{%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}"),
        guid.Data1,
        guid.Data2,
        guid.Data3,
        guid.Data4[0],
        guid.Data4[1],
        guid.Data4[2],
        guid.Data4[3],
        guid.Data4[4],
        guid.Data4[5],
        guid.Data4[6],
        guid.Data4[7]);
     
    //输出GUID字符串
    wprintf(guid_string);
    return 0;
}

利用VS工具生成:方法是"VS→工具→创建GUID"。
微信小程序扫码登陆

文章评论

1740人参与,0条评论