3

我正在用 Rust 编写一个玩具软件库,它需要能够将几乎任何类型的图像加载到图像的内部数据结构中。对于 Rust 生态系统来说,现在还处于早期阶段,对于这项任务,没有一个库/绑定集是我可以信任的。

理想情况下,我希望:

  • 支持多个冗余外部库,这些库在运行时可能可用也可能不可用
  • 支持多个冗余外部库,这些库在编译时可能可用也可能不可用。
  • 至少包含我的代码附带的一个后备实现。
  • 将所有文件加载内容完全封装在执行路径-> InternalImage 加载的函数后面。

有没有一种最佳实践方法可以在 Rust 中实现这样的可选依赖项?其中一些库是 Rust,其中一些可能是带有 Rust 绑定的 C 库。

4

1 回答 1

3

Rust 包管理器 Cargo 可以提供帮助。它允许您声明可选的编译时依赖项。请参阅Cargo 文档的 [功能] 部分

对于运行时依赖项,我不确定。我认为std::dynamic_lib可能会有所帮助。请参阅上一个SO 问题中的使用示例。DynamicLibrary

于 2014-11-15T21:50:47.780 回答