#guid #literals #parser #syntax #chunks #chomp #string

guid-parser

Windows GUID 字面值的 Chomp 解析器

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年2月12日

#27#guid

Download history 48/week @ 2024-03-11 66/week @ 2024-03-18 103/week @ 2024-03-25 96/week @ 2024-04-01 39/week @ 2024-04-08 56/week @ 2024-04-15 63/week @ 2024-04-22 56/week @ 2024-04-29 68/week @ 2024-05-06 69/week @ 2024-05-13 80/week @ 2024-05-20 60/week @ 2024-05-27 64/week @ 2024-06-03 76/week @ 2024-06-10 94/week @ 2024-06-17 63/week @ 2024-06-24

305 每月下载量
5crate中使用(3 个直接使用)

MIT/Apache

10KB
188

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 的所有版本(稳定版和夜间版),从 Rust 1.15 版开始。

许可

根据以下任一许可发布:

由您选择。

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义的任何有意提交以包含在作品中的贡献,均应按上述方式双许可,而无需任何额外的条款或条件。


lib.rs:

本库提供Windows GUID的chomp解析器,使用最常用的语法,例如由Microsoft Visual Studio附带工具guidgen.exe使用的语法。例如,GUID 6B29FC40-CA47-1067-B31D-00DD010662DA将被表示为字符串"6B29FC40-CA47-1067-B31D-00DD010662DA"

以下为chunks函数的示例,请参阅文档。

依赖项

约1MB
约18K SLoC