ããéç¨çGUIDçç»æå¦ä¸ããtypedefstruct_GUID{ããDWORDData1;ããWORDData2;ããWORDData3;ããBYTEData4[8];ãã}GUID;ãã举ä¸ä¸ªä¾åï¼ããå设ä¸ä¸ªGUIDçæ ¼å¼æ¯è¿æ ·ç6B29FC40-CA47-1067-B31D-00DD010662DAããå
¶ä¸Data1æ¯32ä½ï¼å¯ä»¥çå8个åä½åå
è¿å¶æ°ï¼å¯¹åºäºä¸é¢ç6B29FC40ããå
¶ä¸Data2æ¯16ä½ï¼å¯ä»¥çå4个åä½åå
è¿å¶æ°ï¼å¯¹åºäºä¸é¢çCA47ããå
¶ä¸Data3æ¯16ä½ï¼å¯ä»¥çå4个åä½åå
è¿å¶æ°ï¼å¯¹åºäºä¸é¢ç1067ããå
¶ä¸Data4æ¯è¾ç¹æ®ï¼æ¯8个åèä¹å°±å¯ä»¥çå16个åä½åå
è¿å¶æ°ããåå
¶Data4[0],Data4[1]æ¥ç»æ4个åä½åå
è¿å¶æ°ï¼å¯¹åºäºä¸é¢çB31Dããåå
¶Data4[2],Data4[3]æ¥ç»æ4个åä½åå
è¿å¶æ°ï¼å¯¹åºäºä¸é¢ç00DDããåå
¶Data4[4],Data4[5]æ¥ç»æ4个åä½åå
è¿å¶æ°ï¼å¯¹åºäºä¸é¢ç0106ããåå
¶Data4[6],Data4[7]æ¥ç»æ4个åä½åå
è¿å¶æ°ï¼å¯¹åºäºä¸é¢ç62DAãã*注æï¼åä½åå
è¿å¶æ°å¯¹åºä¸ä¸ªGUIDå符ãããå¨Windowsä¸æä¾äºä¸ä¸ªå½æ°å¯ä»¥çæä¸ä¸ªGUIDãéè¦ä½¿ç¨ç头æ件"objbase.h"ï¼éè¦é¾æ¥çåºole32.libãããHRESULTCoCreateGuid(GUID*pguid);ããå¨Linuxä¸é¦å
éè¦ä¸è½½å°ç¸åºçåºæ件å头æ件ããå¦ææ¯Debianç¨æ·å¯ä»¥æ¹ä¾¿çéè¿aptå½ä»¤æ¥è·åç¸å
³èµæºãããapt-getinstalluuid-devããå®è£
å®æåä¼åç°ããå¨/usr/include/ä¸æä¸ä¸ªuuidæ件夹ï¼å
¶ä¸åå
å«äºuuid.h头æ件ãããå¨/usr/lib/ä¸æå 个libuuid*çé¾æ¥åºæ件ï¼å
æ¬éæåå¨æé¾æ¥åºãããæå¼uuid.hä½ ä¼åç°æä¸ä¸ªuuid_generate(uuid_tout)çå½æ°å£°æãæ们å¯ä»¥éè¿è°ç¨è¿ä¸ªå½æ°æ¥çæUUIDãããuuid_generate(reinterpret_cast(&guid));ããçæGUIDæ¯ä¸æ¯å¾ç®åï¼æ¯çï¼å 为çæçç®æ³ä¸ç¨æ们å»å®ç°ï¼æ们æ¯ç«å¨å人çè©èæ以æ们è¦æè°¢ä»ä»¬ãããä¸é¢ç»åºä¸ä¸ªWINDOWSåLINUXä¸éç¨çç¨åºããã//uuid_test.cppãã#includeãã#includeãã#includeãã#include"uuid_test.hpp"ãã#ifdefWIN32ãã#includeãã#elseãã#includeãã#endifããusingnamespacestd;ããnamespaceChinuxTeamãã{ããGUIDCreateGuid()ãã{ããGUIDguid;ãã#ifdefWIN32ããCoCreateGuid(&guid);ãã#elseããuuid_generate(reinterpret_cast(&guid));ãã#endifããreturnguid;ãã}ããstd::stringGuidToString(constGUID&guid)ãã{ããcharbuf[64]={0};ãã#ifdef__GNUC__ããsnprintf(ãã#else//MSVCãã_snprintf_s(ãã#endifãã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]);ããreturnstd::string(buf);ãã}ãã}ãã对åºç头æ件ãã//uuid_test.hpp"ãã#includeãã#includeãã#includeããtypedefstruct_GUIDãã{ããunsignedlongData1;ããunsignedshortData2;ããunsignedshortData3;ããunsignedcharData4[8];ãã}GUID,UUID;ããnamespaceChinuxTeamãã{ããGUIDCreateGuid();ããstd::stringGuidToString(constGUID&guid);ãã}//namespaceChinuxTeam
ããæåä¸ä¸ªGuidToString()ç¨å¾®è§£éä¸ä¸ï¼ä½ç¨å°±æ¯æGUID以åºå®çæ ¼å¼è¾åºå°æ åstringå符串ä¸ï¼ããæ ¹æ®ç¼è¯å¨çä¸åè°ç¨åå«è°ç¨äºä¸åçå符串æå°å½æ°ã
ããå¦å¤éä¸ä¸ªç®åçæµè¯å½æ°
ãã#includeãã#includeãã#includeãã#ifdefWIN32ãã#include"objbase.h"ãã#elseããtypedefstruct_GUIDãã{ããunsignedlongData1;ããunsignedshortData2;ããunsignedshortData3;ããunsignedcharData4[8];ãã}GUID,UUID;ãã#endifããnamespaceChinuxTeam{ããGUIDCreateGuid();ããstd::stringGuidToString(constGUID&guid);ãã}ããè¿è¡åä¼çæä¸ä¸ªGUID并æå°å°æ åè¾åºçæ§å¶å°ä¸ã
温馨提示:答案为网友推荐,仅供参考