2022-06-13 15:40:51 +02:00
:experimental:
2022-10-18 17:56:26 +02:00
:docdatetime: 2022-10-18T17:56:26+02:00
2022-06-13 15:40:51 +02:00
2022-06-14 14:31:00 +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?
2022-06-13 13:15:15 +02:00
Cargo ist Rusts package manager. +
Um ein neues Cargo-Projekt zu erstellen, braucht es das folgende
Command:
2022-08-10 17:04:53 +02:00
[source, bash]
2022-06-13 13:15:15 +02:00
----
$ 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.
2022-10-18 17:56:26 +02:00
== Angelegte Dateien
2022-06-13 13:15:15 +02:00
=== Cargo.toml
Unangetastet sieht die Datei so aus:
2022-08-10 17:04:53 +02:00
[source, toml]
2022-06-13 13:15:15 +02:00
----
[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
2022-08-10 17:04:53 +02:00
[source, bash]
2022-06-13 13:15:15 +02:00
----
$ 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.