Rustonomicon
180 pages
French
PDF
4.5

Rustonomicon

Rustonomicon

Auteur :

Année :

Résumé :

Introduction

The Rustonomicon (en traduction russe — « Растономикон ») n'est pas simplement un livre, mais plutôt un grimoire, un recueil de connaissances obscures sur le langage de programmation Rust. Si vous maîtrisez déjà les bases de Rust et que vous vous sentez prêt à jeter un coup d'œil derrière le rideau des garanties de sécurité strictes, ce livre sera votre guide dans le monde du code unsafe, des pointeurs bruts, des FFI (Foreign Function Interface) et d'autres outils dangereux mais nécessaires. Écrit par un collectif d'auteurs (Various Authors) et soutenu par la communauté, il constitue le guide officiel du Rust non sécurisé, disponible gratuitement en version en ligne. L'édition imprimée de 2022, 180 pages, est un manuel compact mais riche pour ceux qui veulent comprendre comment Rust fonctionne « sous le capot » et comment contourner ses mécanismes de protection lorsque cela est vraiment nécessaire.

De quoi parle le livre

Le livre est exclusivement consacré au sous-ensemble unsafe de Rust. Il n'enseigne pas les bases de la syntaxe ou le code idiomatique — on suppose que le lecteur écrit déjà avec aisance du Rust sécurisé. Les sujets principaux :

  • Pointeurs bruts (*const T et *mut T) : création, déréférencement, arithmétique des pointeurs.
  • Fonctions et traits non sécurisés : déclaration et appel de unsafe fn, implémentation de unsafe trait.
  • FFI (Foreign Function Interface) : appel de fonctions C depuis Rust, export de fonctions Rust pour C, travail avec les blocs extern.
  • Gestion de la mémoire : gestion manuelle de la mémoire, allocateurs, création de pointeurs intelligents personnalisés.
  • Représentation des données : alignement, tailles des types, dispositions des structures et énumérations, attributs #[repr(...)].
  • Comportement indéfini (UB) : ce qui est permis et interdit dans le code unsafe, comment éviter l'UB.
  • Opérations atomiques et barrières mémoire : synchronisation bas niveau.
  • Intégration d'assembleur : macro asm! pour le code dépendant de la plateforme.

À qui s'adresse ce livre

The Rustonomicon est destiné aux développeurs Rust expérimentés qui ont déjà de l'expérience dans l'écriture de code sécurisé et souhaitent approfondir la programmation système. Il sera utile :

  • Aux développeurs créant des bibliothèques avec FFI (par exemple, des wrappers pour des bibliothèques C/C++).
  • Aux ingénieurs travaillant sur des systèmes d'exploitation, des pilotes ou des systèmes embarqués.
  • À ceux qui veulent implémenter leurs propres structures de données avec gestion manuelle de la mémoire (par exemple, un Vec ou HashMap personnalisé).
  • Aux développeurs de moteurs de jeux et d'applications haute performance où chaque microseconde compte.
  • À tous ceux qui veulent vraiment comprendre comment Rust fonctionne au niveau du code machine.

Ce que le lecteur apprendra

Après avoir lu le livre, vous serez capable de :

  • Utiliser en toute confiance les pointeurs bruts et comprendre la différence entre les références et les pointeurs.
  • Écrire des wrappers sécurisés autour de code non sécurisé, sans fuites mémoire ni UB.
  • Interagir avec des bibliothèques C via FFI, transmettre des structures de données complexes.
  • Créer vos propres allocateurs et gérer la mémoire manuellement.
  • Comprendre les dispositions des données en mémoire, l'alignement et les tailles des types.
  • Utiliser les opérations atomiques pour la programmation sans verrou.
  • Éviter les comportements indéfinis et écrire du code unsafe correct.
  • Intégrer des insertions assembleur pour des optimisations dépendantes de la plateforme.

Points forts

Le livre présente plusieurs avantages indéniables :