1个不稳定版本
0.3.0 | 2022年10月24日 |
---|
#2173 在 开发工具
264 每月下载量
在 laze 中使用
11KB
110 行
build_uuid
这是一个 https://github.com/alecmocatta/build_id 的分支!
获取唯一表示当前二进制文件构建的 Uuid
。
这旨在用于检查不同的进程确实是相同布局的二进制文件的调用。
因此
- 它在同一二进制文件多次调用中保证是相同的。
- 它在具有不同代码或数据段或布局的二进制文件之间保证是不同的。
- 如果二进制文件具有相同的代码和数据段以及布局但本质上不同(例如,如果在编译时将时间戳包含在二进制文件中),则相等的定义是不明确的。
示例
let local_build_uuid = build_uuid::get();
if local_build_uuid == remote_build_uuid {
println!("We're running the same binary as remote!");
} else {
println!("We're running a different binary to remote");
}
注意
它首先寻找链接器插入的构建ID/二进制UUID(即在Linux上的.note.gnu.build-id
;在Mach-O中的LC_UUID
等),然后回退到对整个二进制文件进行哈希处理。
许可
在以下任一项下许可:
- Apache License,版本2.0,(LICENSE-APACHE.txt 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT.txt 或 http://opensource.org/licenses/MIT)
由您选择。
除非您明确声明,否则根据Apache-2.0许可中定义的,您有意提交以包含在作品中的任何贡献,都将如上所述双许可,不附加任何额外条款或条件。
依赖关系
~540KB