【问题标题】:What is the best way to implement optional library dependencies in Rust?在 Rust 中实现可选库依赖项的最佳方法是什么?
【发布时间】:2014-11-15 12:33:17
【问题描述】:

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

我希望:

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

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

【问题讨论】:

    标签: plugins rust external-dependencies


    【解决方案1】:

    Rust 包管理器 Cargo 可以提供帮助。它允许您声明可选的编译时依赖项。请参阅[features] section of Cargo's documentation

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 2018-08-30
      • 1970-01-01
      • 2011-05-23
      • 2020-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多