タグ付けされた質問 「rust-cargo」

4
ライブラリとバイナリの両方を含むRustパッケージ?
再利用可能なライブラリ(ほとんどのプログラムが実装されている)と、それを使用する実行可能ファイルの両方を含むRustパッケージを作成したいと思います。 Rustモジュールシステムのセマンティクスを混同していないとすると、Cargo.tomlファイルはどのようになりますか?
190 rust  rust-cargo 

5
Rustの実行可能ファイルが非常に大きいのはなぜですか?
Rustを見つけて、ドキュメントの最初の2つの章を読んだだけで、アプローチと言語の定義方法が特に興味深いと思います。指を濡らすことにし、Hello worldから始めました... 私はWindows 7 x64でそうしました。 fn main() { println!("Hello, world!"); } cargo build結果を発行して見ると、結果は3MBでtargets\debugあること.exeがわかりました。いくつか検索した後(貨物のコマンドラインフラグのドキュメントを見つけるのは難しい...)--releaseオプションを見つけて、リリースビルドを作成しました。驚いたことに、.exeのサイズは3MBではなく2.99MBとわずかに小さくなっています。 したがって、私がRustとそのエコシステムの初心者であることを告白すると、システムプログラミング言語が何かコンパクトなものを生み出すことが期待されていました。 Rustがコンパイルする対象について詳しく説明することはできますか?3ライナープログラムからこのような巨大な画像を生成することはどのようにして可能ですか?仮想マシンにコンパイルしていますか?私が逃したストリップコマンドはありますか(リリースビルド内のデバッグ情報?)?何が起こっているのかを理解できるかもしれない何か他に?
153 rust  rust-cargo 

2
RustプログラムはどのようにしてCargoパッケージのメタデータにアクセスできますか?
パッケージ内のRustコードからCargoパッケージのメタデータ(バージョンなど)にどのようにアクセスしますか?私の場合は、標準の--versionフラグを設定したいコマンドラインツールを構築しています。実装からパッケージのバージョンを読み取っCargo.tomlて、2つの場所で維持する必要がないようにしたいと考えています。プログラムからCargoメタデータにアクセスする理由が他にもあると思います。
150 rust  rust-cargo 

3
Cargoで複数のバイナリを構築するにはどうすればよいですか?
UNIXソケットを介して接続するadaemonとaを使用してプロジェクトを作成したいと思いclientます。 Aclientとaにdaemonは2つのバイナリが必要Cargoですが、2つの異なるソースから2つのターゲットを構築するように指示するにはどうすればよいですか? ちょっとしたファンタジーを追加するlibraryために、の主要部分にを用意し、daemonそれをラップしてソケットを介して通信するためのバイナリを用意したいと思います。 したがって、この種のツリーアーキテクチャがあります。 ├── Cargo.toml ├── target | └── debug | ├── daemon │ └── client └── src ├── daemon │ ├── bin │ │ └── main.rs │ └── lib │ └── lib.rs └── client └── bin └── main.rs 両方の懸念を管理する1つの実行可能ファイルを作成することもできますが、それが非常に良い方法でない限り、それは私がやりたいことではありません。
103 rust  rust-cargo 

1
パッケージなしでコードのみのデバッグ情報を含めることはできますか?
デバッグ情報が含まれていると、私のバイナリは約400 MBになります。これは、Rustにすべての依存関係のデバッグ情報が含まれているために発生します。私のコードだけにデバッグ情報を含める方法はありますか? [package] name = "app" version = "0.7.1" edition = "2018" [dependencies] actix = "*" actix-web = {version = "1.0", features = ["ssl"]} ... tokio-core = "*" tokio = "*" [profile.release] debug = true
11 rust  rust-cargo 

1
Rustの「クレート機能」を有効にするにはどうすればよいですか?
使用しようとしていますrand::SmallRng。ドキュメントは言う このPRNGは機能依存型ですsmall_rng。使用するには、クレート機能を有効にする必要があります。 検索してみましたが、「クレート機能」を有効にする方法がわかりません。このフレーズは、Rustのドキュメントではどこにも使用されていません。これは私が思いつくことができる最高のものです: [features] default = ["small_rng"] しかし、私は得ます: 機能にdefaultはsmall_rng、依存関係でも別の機能でもないものが含まれます ドキュメントが間違っていますか、それとも私が見逃しているものがありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.