6个版本 (1个稳定版)
1.0.0 | 2024年4月19日 |
---|---|
0.1.5 | 2024年4月18日 |
0.1.4 | 2023年11月7日 |
0.1.3 | 2023年6月4日 |
0.1.1 | 2023年1月24日 |
#336 在 构建工具
每月下载量 31次
10KB
154 行
include-blob
include-blob
是一个小型crate,它提供了一个替代 include_bytes!
的宏,当与大型文件(几个MB)一起使用时,不会对编译时间产生相同严重的影响。
它通过预处理要包含在构建脚本中的文件,将它们打包到静态库中,并告诉Cargo链接到它们来实现。
lib.rs
:
在不产生高编译时间成本的情况下包含大文件。
此crate提供 include_blob!
宏作为标准 include_bytes!
宏的替代品,该宏通过将文件复制到目标文件并链接到它来嵌入文件。这可以减少 include_bytes!
的(相当高)编译时间成本。
为了使这成为可能,用户代码必须首先添加一个调用 make_includable
函数的构建脚本。
// build.rs
fn main() {
include_blob::make_includable("../../directory-with-big-files");
}
let bytes: &[u8] = include_blob::include_blob!("test-project/blobs/file.txt");
依赖项
~3MB
~58K SLoC