我正在用 Rust 编写一个玩具软件库,它需要能够将几乎任何类型的图像加载到图像的内部数据结构中。对于 Rust 生态系统来说,现在还处于早期阶段,对于这项任务,没有一个库/绑定集是我可以信任的。
理想情况下,我希望:
- 支持多个冗余外部库,这些库在运行时可能可用也可能不可用
- 支持多个冗余外部库,这些库在编译时可能可用也可能不可用。
- 至少包含我的代码附带的一个后备实现。
- 将所有文件加载内容完全封装在执行路径-> InternalImage 加载的函数后面。
有没有一种最佳实践方法可以在 Rust 中实现这样的可选依赖项?其中一些库是 Rust,其中一些可能是带有 Rust 绑定的 C 库。