73 lines
1.4 KiB
Plaintext
73 lines
1.4 KiB
Plaintext
:experimental:
|
|
:docdatetime: 2022-10-18T17:56:26+02:00
|
|
|
|
= Cargo
|
|
|
|
_https://doc.rust-lang.org/book/ch01-03-hello-cargo.html[Link zum Buch]_ | _Diese Seite ist aus einem https://jupyter.org/[Jupyter Notebook] exportiert_.
|
|
|
|
== Was ist Cargo?
|
|
|
|
Cargo ist Rusts package manager. +
|
|
Um ein neues Cargo-Projekt zu erstellen, braucht es das folgende
|
|
Command:
|
|
|
|
[source, bash]
|
|
----
|
|
$ cargo new projektname --bin
|
|
----
|
|
|
|
`--bin` sagt, dass wir ein neues Binary erstellen und keine
|
|
Bibliothek. +
|
|
Es wird auch gleich `main.rs`, ein `.git`-Ordner (inkl. `.gitignore`)
|
|
und `Cargo.toml` erstellt.
|
|
|
|
== Angelegte Dateien
|
|
|
|
=== Cargo.toml
|
|
|
|
Unangetastet sieht die Datei so aus:
|
|
|
|
[source, toml]
|
|
----
|
|
[package]
|
|
name = "projektname"
|
|
version = "0.1.0"
|
|
authors = ["Your Name <you@example.com>"]
|
|
|
|
[dependencies]
|
|
----
|
|
|
|
Hier können also Meta-Infos wie Name und Dependencies gespeichert
|
|
werden.
|
|
|
|
=== main.rs
|
|
|
|
Die Main-Datei ist mit ``Hello World'' gefüllt.
|
|
|
|
== Commands
|
|
|
|
=== cargo build
|
|
|
|
[source, bash]
|
|
----
|
|
$ cargo build
|
|
$ ./target/debug/projektname
|
|
----
|
|
|
|
Standardmäßig wird ein Debug-Build erzeugt. `cargo build --release`
|
|
erzeugt einen Release-Build.
|
|
|
|
=== cargo run
|
|
|
|
Macht einen build und führt die Datei dann aus.
|
|
|
|
=== cargo check
|
|
|
|
Checkt alles einmal durch.
|
|
|
|
=== cargo update
|
|
|
|
Updatet alle Dependencies. Allerdings nur auf die letzte Subversion der
|
|
angegebenen Version. Will man eine neue Version, muss man das manuell
|
|
angeben.
|