首页 > 其他 > 详细

VS中生成GUID的方法

时间:2015-07-11 16:33:29      阅读:322      评论:0      收藏:0      [点我收藏+]

 GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。它使用网卡MAC、地址、纳秒级时间、芯片ID码和许多可能的数字,这样保证每次生成的GUID永远不会重复,无论是同一个计算机上还是不同的计算机。
GUID长什么样呢?
 
{C7B1AFCC-810E-46d0-8157-09FC488D4C71}
 
    看起来挺古怪的吧。在 Windows 平台上,GUID 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。
不用担心GUID的性能问题,因为它生成过程是采用MAC地址、机器时钟等计算的,没有并发问题,所以它一点都不比自增计数器的慢,有时候甚至更快。

    讲了一大堆理论,在程序中怎么生成GUID呢?

    非常简单,调用CoCreateGuid函数即可,它定义在objbase.h这个头文件中。

【核心代码】

 1 #include <windows.h>
 2 #include <stdio.h>
 3 int main()
 4 {
 5     GUID guid;
 6     ZeroMemory(&guid, sizeof(guid));
 7     TCHAR guid_string[1024];
 8     CoCreateGuid(&guid);
 9     
10     //格式化字符串
11     wsprintf(guid_string, TEXT("{%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}"),
12         guid.Data1,
13         guid.Data2,
14         guid.Data3,
15         guid.Data4[0],
16         guid.Data4[1],
17         guid.Data4[2],
18         guid.Data4[3],
19         guid.Data4[4],
20         guid.Data4[5],
21         guid.Data4[6],
22         guid.Data4[7]);
23      
24     //输出GUID字符串
25     wprintf(guid_string);
26     return 0;
27 }

//利用VS工具生成:方法是"VS→工具→创建GUID"。

VS中生成GUID的方法

原文:http://www.cnblogs.com/5iedu/p/4638768.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!