Home
# Installation --- ## La chaîne de compilation
--- ## Rustup - Outil pour configurer et manager la chaîne de compilation de Rust.
- Installation de la chaîne de compilation (toolchain): ```sh curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` - Quelques commandes importantes ```sh rustup install stable # installation de la chaîne stable rustup self uninstall # désinstallation rustup default stable # chaîne par défaut rustup update # mise à jour de la chaîne de compilation rustup doc # documentation dans le navigateur ``` --- ## Contenu de la chaîne de compilation - `rustc`: compilateur et éditeur de lien - `cargo`: outil pour la compilation et gestion de dépendances - `rustdoc`: documentation - `rust-(lldb|gdb)`: débugger --- ## `rustc` - `rustc` est écrit en Rust (en grande partie). - Pour terster l'installation ```sh rustc --help ``` --- ## Rust-analyzer - Outil d'analyse de code. - Permet l'autocomplétion, la navigation dans le code, etc. - S'installe via `rustup` ou via le gestionnaire de plugins de votre éditeur. - Documentation:
```sh rustup component add rust-analyzer ``` --- ## Mon premier `Hello World!` - Dans un fichier `hello_world.rs`. ```rust fn main() { // présent dans tout programme Rust println!("Hello, World!"); // macro d'affichage } ``` - Pour compiler, éditer les liens et exécuter ```console $ rustc hello_world.rs $ ./hello_world Hello, World! ``` --- ## Cargo - La documentation [Cargo Manifest docs](http://doc.crates.io/manifest.html). - Cargo est l'outil de compilation et gestion de dépendances de Rust. - Indépendant de la version de `rustc`. - Permet l'installation de bibliothèques (crates) depuis
. - Permet de créer des projets Rust. --- ## Exemple d'utilisation ```console $ cargo new hello_world --bin # création projet $ cd hello_world $ cargo build # cargo check Compiling hello_world v0.1.0 (file:///home/malaspor/hello_world) Finished dev [unoptimized + debuginfo] target(s) in 1.33s $ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.05s Running `target/debug/hello_world` Hello, world! $ ./target/debug/hello_world Hello, world! $ cargo build --release # compilation avec optimisations Compiling hello_world v0.1.0 (file:///home/malaspor/Downloads/hello_world) Finished release [optimized] target(s) in 0.35s ``` --- ## Le fichier `Cargo.toml` ```toml [package] name = "hello_world" version = "0.1.0" edition = "2024" authors = ["Your Name you@example.com"] [dependencies] ``` --- ## Le fichier `Cargo.lock` ```toml version = 4 [[package]] name = "hello_world" version = "0.1.0" ``` --- ## Éditeur et plugins - Nous vous conseillons ici l'éditeur `codium` (**pas vscode**). - Et l'installation du plugin `rust-analyzer`. - D'autres éditeurs sont possibles: - `neovim` avec le l'utilisation du lsp `rust-analyzer`. - `emacs` avec le mode `lsp-mode` et le package `lsp-rust`. - `jetbrains` avec le plugin `intellij-rust`. --- ## Rustlings - Installez les exercices interactifs de Rustlings. - Documentation:
- Installation: ```sh cargo install rustlings ``` - Initialisation: ```sh rustlings init ``` - Lancement des exercices: ```sh cd rustlings rustlings ```