4个稳定版本
1.0.3 | 2024年7月4日 |
---|---|
1.0.2 | 2022年10月11日 |
1.0.1 | 2022年1月26日 |
1.0.0 | 2021年11月12日 |
#153 in 操作系统
32KB
549 行
buildid: 从您的(运行中的)库或可执行文件中获取build-id
获取一个唯一的、仅对当前二进制文件有效的&'static [u8]
。
println!("{:?}", buildid::build_id())
build-id是一个值,当二进制文件的任何组件对象发生变化时,它将保证改变。build-id的变化并不能保证可执行文件或其组件实际上是不同的。如果两个不同的可执行文件在链接后进行了修改(例如,通过chrpath
或类似的工具),它们可能具有不同的build-id。
build-id的目的是为了识别给定对象应使用的适当调试信息,并由gdb
和其他调试器用于此目的。
可执行文件和共享对象都包含build-id。使用buildid::build_id()
将返回包含buildid
(此crate)的对象的build-id。例如,如果您使用此crate编写共享对象(共享库),并在共享对象的公共API中提供一个函数(通过调用buildid::build_id()
内部)来返回build-id,那么该函数调用将返回共享对象/库的build-id(而不是可执行文件)。
支持Windows、MacOS和Linux(自动工作)。可以通过启用可选功能来支持嵌入式和其他平台(有关详细信息,请参阅文档)。如果您有需要支持的其他平台,请发送PR!
默认情况下,buildid
crate将为您选择平台最佳build-id查找函数。如果没有可用,它可能无法编译。如果您有一个希望告知buildid
的自定义build-id查找机制,启用一个功能可能会有所帮助。
许可证
根据Mozilla Public License 2.0许可
贡献
除非您明确声明,否则您有意提交以包含在作品中的任何贡献都应按照上述条款许可,不附加任何额外条款或条件。
依赖关系
~48–275KB