Comment créer un package Rust qui contient à la fois une bibliothèque (lib) et un exécutable (bin) ?
Bonjour à tous ! Je viens de commencer à apprendre Rust et j'essaie de comprendre l'organisation des projets. J'ai une tâche : je veux écrire un petit utilitaire pour travailler avec des fichiers CSV. Mais je veux que la logique principale (parsing, filtrage) puisse être réutilisée dans d'autres projets comme bibliothèque.
Actuellement, mon projet ressemble à ceci :
```
my_project/
├── Cargo.toml
├── src/
│ └── main.rs
```
Dans `main.rs`, j'ai écrit à la fois le parsing et l'affichage des résultats. Ce n'est pas pratique : si je veux utiliser le même parser dans un autre projet, je devrai copier le code.
J'ai lu qu'en Rust, on peut créer un package qui contient à la fois `lib.rs` (bibliothèque) et `main.rs` (binaire). Mais je ne comprends pas comment configurer cela correctement. Dans `Cargo.toml`, je ne vois pas d'instructions explicites. Comment Cargo sait-il que j'ai deux fichiers cibles ? Puis-je appeler des fonctions de `lib.rs` depuis `main.rs` ? Et comment organiser correctement la structure des dossiers ? Dois-je spécifier quelque chose dans `Cargo.toml` ?
S'il vous plaît, dites-moi comment faire cela correctement. Exemple.
No answers yet.
Connectez-vous pour laisser une réponse