Comment mieux comprendre Crate en Rust ?
Dans ce livre - Rust By Example , Chapitre 11 :
Une caisse est une unité de compilation dans Rust. Chaque fois que rustc some_file.rs est appelé, some_file.rs est traité comme le fichier crate .
D'après ce livre, qu'en est-il du fichier source ?
La référence de la rouille | Caisses et fichiers sources
Le modèle de compilation est centré sur des artefacts appelés caisses. Chaque compilation traite un seul crate sous forme source et, en cas de succès, produit un seul crate sous forme binaire : soit un exécutable, soit une sorte de bibliothèque.
Le compilateur Rust est toujours appelé avec un seul fichier source en entrée et produit toujours un seul bac de sortie. Le traitement de ce fichier source peut entraîner le chargement d'autres fichiers source en tant que modules. Les fichiers sources ont l'extension .rs.
D'après cette déclaration, je pense:
Fichier source (fichier .rs) --> caisse correspondante
Comme : .java --> .class
Maintenant, je ne peux pas comprendre ce problème; Je suis tout en mer.
Réponses
C'est la partie clé du matériel que vous avez cité:
Le traitement de ce fichier source peut entraîner le chargement d'autres fichiers source en tant que modules.
Si vous examinez une bibliothèque typique, vous trouverez un fichier appelé src/lib.rsqui contient plusieurs lignes comme mod foo;. Chacun de ceux-ci identifie un autre fichier src/foo.rsque le compilateur interprétera comme un autre module faisant partie du crate (ou il peut contenir le module directement, dans le même fichier).
Ce n'est pas qu'un fichier source constitue une caisse : c'est qu'à partir de ce fichier source, vous pouvez trouver tous les fichiers qui composent la caisse, contrairement à d'autres modèles de compilation où le compilateur peut recevoir plusieurs noms de fichiers à partir de .