VS中生成GUID的方法


 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"。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM