#编译时 #生成 #数据 #代码生成 #自动 #二进制数据 #初始化

构建 codify_hoijui

帮助在编译时自动生成代码,用于初始化包含数据的结构体和枚举,这些数据在运行时可用

2 个版本

0.6.1 2024年6月2日
0.6.0 2023年12月4日

#199构建工具

Download history 2/week @ 2024-05-22 147/week @ 2024-05-29 31/week @ 2024-06-05 2/week @ 2024-06-12

79 每月下载量
3 个crate(2个直接)中使用

AGPL-3.0-or-later

31KB
93

codify-rs

License: AGPL-3.0-or-later REUSE status Repo Statistics Package Releases Documentation Releases Dependency Status Build Status

帮助在编译时自动生成代码,用于初始化包含数据的结构体和枚举,这些数据在运行时可用。

这个实际的用例是将资源/数据以最有效的方式存储在二进制文件中,以便在运行时准备就绪,无需将数据/文件以原始的、序列化的、可能低效的形式包含到二进制文件中。这也意味着,数据不需要在运行时/应用程序启动时进行解析。

用法

  1. 将此库添加到您的cargo的正常和构建依赖项中

    [dependencies]
    codify = { version = "0.6", package = "codify_hoijui" }
    
    [build-dependencies]
    codify = { version = "0.6", package = "codify_hoijui" }
    
  2. 在您的 build.rs 中,使用serde从资源文件中加载一些数据到结构体/枚举中

  3. 在您的 build.rs 中,对那些数据调用 Codify::init_code(),创建初始化代码。

  4. 将此代码写入 $OUT_DIR/my_data_x_gen.rs 文件

  5. src/ 下创建一个代理源文件 - 例如 src/my_data_x_gen.rs - 该文件仅包含生成的文件: include!(concat!(env!("OUT_DIR"), "/my_data_x_gen.rs"));

  6. 在编译时加载/使用 $OUT_DIR/my_data_x.rs 文件

示例

有关示例用法,请参阅 osh-dir-std-rs 项目的 build.rs 文件。

无运行时依赖