3

画像の内部データ構造にほぼすべてのタイプの画像をロードできる必要がある Rust でおもちゃのソフトウェア ライブラリを作成しています。Rust エコシステムはまだ始まったばかりであり、このタスクで信頼できるライブラリやバインディングのセットはありません。

私は理想的には好きです:

  • 実行時に利用できる場合と利用できない場合がある複数の冗長な外部ライブラリをサポートする
  • コンパイル時に利用できる場合と利用できない場合がある複数の冗長な外部ライブラリをサポートします。
  • コードに同梱されているフォールバック実装を少なくとも 1 つ含めます。
  • パスを実行する関数の背後にあるすべてのファイルのロード内容を完全にカプセル化します -> InternalImage のロード。

Rust でこのようなオプションの依存関係を実装するベスト プラクティスの方法はありますか? 一部のライブラリは Rust で、一部はおそらく Rust バインディングを備えた C ライブラリになります。

4

1 に答える 1

3

Rust のパッケージ マネージャーである Cargo は、この問題を解決するのに役立ちます。オプションのコンパイル時の依存関係を宣言できます。Cargo のドキュメント の [features] セクションを参照してください。

実行時の依存関係についてはわかりません。std::dynamic_libが役立つと思います。前の SO の質問での使用例をDynamicLibrary参照してください。

于 2014-11-15T21:50:47.780 に答える