命名规则标识符 unix_关于全局唯一标识符

d8a753ab09ed44ed89c841925ef11fd4.png

关于全局唯一标识符

用几个世纪以来独一无二的标签命名你的接口

摘要

本文介绍全局唯一标识符(GUID:Globally Unique IDentifier ),并说明如何从您喜欢的工作站创建一个。它包括以下部分:

关于全局唯一标识符

如何获取全局唯一标识符

关于全局唯一标识符

全局唯一标识符 (GUID) 旨在在使用该接口的任何地点和任何时间唯一标识该接口。它以128位编码,并且在空间和时间上都是唯一的:

48位通过捕获运行创建GUID的命令的计算机上的网卡地址来确保这种在空间上的唯一性。此地址是唯一的,这保证了在给定计算机上生成的任何GUID与在另一台计算机上生成的任何其他GUID不同。

60位的时间戳可确保随时间推移的唯一性,这表示自1582年10月15日00:00:00.00以来的100纳秒间隔的计数。这为产生GUIDs留下了空间,直到大约公元3400年。

首先由开放软件基金会 (OSF:Open Software Foundation ) 为分布式计算环境 (DCE:Distributed Computing Environment ) 的远程过程调用 (RPC:Remote Procedure Calls ) 创建为通用唯一标识符的UUID 。这就是为什么您有时可以找到使用UUID而不是GUID的原因,例如在命令或实用程序中生成它们。

如何获取全局唯一标识符

您可以获取接口的GUID,如下所示:

在UNIX中,使用uuid_gen -C命令返回一个GUID,如下所示:

= { 0x7c7b3737,

0x5358,

0x0000,

0x02,

{0x80, 0x02, 0x0b, 0x3e, 0x00, 0x00, 0x00} };

要运行此命令,请输入:

/etc/ncs/uuid_gen -C with AIX

/usr/sbin/ncs/uuid_gen -C with HP-UX

Sun今天不提供任何生成GUID的方法

然后,当将其包含到接口IDL文件中时,您需要进行一些编辑以按如下方式对其进行转换:7c7b3737-5358-0000-0280020b3e000000

要将其包含到C++文件中,请按照以下方式对其进行转换:

= { 0x7c7b3737,

0x5358,

0x0000,

{0x02, 0x80, 0x02, 0x0b, 0x3e, 0x00, 0x00, 0x00} };

在Windows中,命令uuidgen -s返回全局唯一标识符,如下所示:

INTERFACENAME = { /* 7c7b3737-5358-0000-0280-020b3e000000 */

0x7c7b3737,

0x5358,

0x0000,

{0x02, 0x80, 0x02, 0x0b, 0x3e, 0x00, 0x00, 0x00}

};

对于IDL接口,复制第一行的注释值,粘贴它,然后删除最后一个连字符以获取7c7b3737-5358-0000-0280020b3e000000.

您也可以运行仅返回7c7b3737-5358-0000-0280-020b3e000000.的UUIDGEN.EXE。不要忘记删除最后一个连字符。

要将其包含到C++ 头文件中,可以按原样获取十六进制值。

= { 0x7c7b3737,

0x5358,

0x0000,

{0x02, 0x80, 0x02, 0x0b, 0x3e, 0x00, 0x00, 0x00}

};

注意: uuidgen通常位于C:Program FilesMicrosoft Visual StudioCommonTools

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值