#guid #macro #literals #syntax #procedural #windows

guid-macro-impl

过程宏 guid! 的实现库

1 个不稳定版本

使用旧的Rust 2015

0.1.0 2018年2月12日

#31#guid

Download history 36/week @ 2024-04-15 38/week @ 2024-04-22 40/week @ 2024-04-29 41/week @ 2024-05-06 44/week @ 2024-05-13 37/week @ 2024-05-20 32/week @ 2024-05-27 46/week @ 2024-06-03 51/week @ 2024-06-10 64/week @ 2024-06-17 40/week @ 2024-06-24 37/week @ 2024-07-01 21/week @ 2024-07-08 33/week @ 2024-07-15 30/week @ 2024-07-22 37/week @ 2024-07-29

147 每月下载量
3 个crate中(通过 guid)使用

MIT/Apache

13KB
237 代码行

GUID

本crate提供了一个 guid! 宏,用于以方便的文本语法表达 GUID 结构。GUID是Windows 全局唯一标识符,通常以下列格式表示

{6B29FC40-CA47-1067-B31D-00DD010662DA}

使用此crate,可以使用以下语法生成GUID:

guid!{"6B29FC40-CA47-1067-B31D-00DD010662DA"}

示例

#[macro_use]
extern crate guid;

use guid::GUID;

const MY_GUID: GUID = guid!{"6B29FC40-CA47-1067-B31D-00DD010662DA"};

fn main() {
    assert_eq!(MY_GUID.Data1, 0x6B29FC40);
    assert_eq!(MY_GUID.Data2, 0xCA47);
    assert_eq!(MY_GUID.Data3, 0x1067);
    assert_eq!(MY_GUID.Data4, [ 0xB3, 0x1D, 0x00, 0xDD, 0x01, 0x06, 0x62, 0xDA ]);
}

GUID 类型由 winapi crate重新导出,仅在Windows中可用。 guid! 宏也仅在Windows中可用。

此crate还提供了一个解析器,可用于在运行时解析GUID字符串。解析器仅在非Windows平台上生成字节数组。在Windows上,此crate定义了一个生成 GUID 结构的解析器。

兼容性

本crate支持从Rust 1.15开始的所有Rust版本(稳定版和夜间版)。

许可协议

在以下任一许可协议下许可:

由您选择。

贡献

除非您明确声明,否则根据Apache-2.0许可协议定义,您有意提交以包含在作品中的任何贡献都应按照上述方式双重许可,不附加任何额外条款或条件。

依赖项

~3MB
~65K SLoC