Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Utiliser examples/

Il peut être pratique de savoir écrire et exécuter des petits bouts de programmes Rust indépendants pour les compiler et exécuter avec cargo run.

Il existe une petite astuce dans Rust bien pratique : les programmes exemples.

L’usage premier de ces programmes est de montrer des usages de bibliothèques écrites en Rust.

Nous pouvons nous servir de cette fonctionnalité native pour écrire des bouts de programmes indépendants dans un projet commun Rust.

Fonctionnement des exemples

Il suffit de créer un dossier examples/ à la racine du projet et d’y écrire un code source Rust de programme mon_premier_exemple.rs. Ce programme doit comporter une fonction fn main().

Ceci fait, la commande

cargo run --example mon_premier_exemple # (sans le .rs)

compile (si nécessaire) et exécute le programme ainsi créé.

Mise en application

Nous écrivons le code source examples/mon_premier_exemple.rs suivant :

fn main() {
    println!("Ceci est mon premier exemple.");
}

puis nous l’exécutons.

Astuce : pour saisir le nom du code à compiler et exécuter, nous pouvons nous servir de l’autocomplétion du shell (touche tabulation).

Optimisation de code

Rust propose deux options de compilation :

  • debug : option utilisée par défaut, plus rapide ;
  • release : option recommandée pour la production des programmes, plus lente car le compilateur modifie certains comportements et réalise des optimisations de code.

Nous pouvons déjà utiliser l’option --release de cargo avec nos programmes exemples. Ce sera bien pratique pour tester différentes stratégies algorithmiques et leurs performances : nous verrons alors que les versions debug et les versions release ne se comportent pas de la même manière.

cargo run --release --example mon_premier_exemple # (sans le .rs)
Remarque

Les exemples dont nous parlons ici sont indépendants des exemples que nous insérons dans les documentations de nos librairies et programmes.