今天学GUID,发现网上资料很多,就转载了一些:
GUID介绍:http://zhidao.baidu.com/question/3912210.html
GUID(Globally Unique IDentifier) 也称作 UUID(Universally Unique IDentifier).
特点:
GUID/UUID是通过特定算法产生的一个二进制长度为128位的数字,
在空间上和时间上具有唯一性,保证同一时间不同地方产生的数字不同,
在公元3400年以前产生的UUID/GUID与任何其他产生过的UUIDs/GUIDs都不相同。在需要GUID的时候,可以完全由算法自动生成,不需要一个权威机构来管理。
GUID的长度固定,并且相对而言较短小,非常适合于排序、标识和存储。
用途:
标识特定的组件、程序、文件、数据、用户等,并可以在网络中使用。
。。。。省略N字
用API来生成GUID:
http://www.cnblogs.com/wubiyu/archive/2008/12/03/1346348.html
//--生成GUID的代码
//--相关程序/微软guidgen.exe
#include "stdafx.h"
#include <objbase.h>
#include <stdio.h>
//--生成GUID
const char* newGUID()
{
static char buf[64] = {0};
GUID guid;
if (S_OK == ::CoCreateGuid(&guid))
{
_snprintf(buf, sizeof(buf)
, "{%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]
);
}
return (const char*)buf;
}
int main(int argc, char* argv[])
{
//--COM
CoInitialize(NULL);
printf(newGUID());
printf("\r\n");
//--COM
CoUninitialize();
return 0;
}