Bonjour à tous,
Petite question générique: est-ce que plusieurs cpp peuvent être buildés dans un seule et même dll ? ou est-ce qu'il y a unicité, cad un cpp <=> une dll ?
Merci pour votre aide.
Bonjour à tous,
Petite question générique: est-ce que plusieurs cpp peuvent être buildés dans un seule et même dll ? ou est-ce qu'il y a unicité, cad un cpp <=> une dll ?
Merci pour votre aide.
Bonjour,
une dll peut être générée à partir d'un nombre quelconque de fichier .cpp, le plus souvent il y en a des centaines voire des milliers.
Salut,
Pour être précis, il faut comprendre que les fichiers d'implémentation (*.cpp) ne sont qu'une manière "simple" d'organiser correctement ton code, parce qu'il est toujours beaucoup plus facile de se retrouver dans un fichier qui ne fait qu'une centaine de ligne que dans un fichier qui en ferait ne serait-ce que 1000.
L'idée est donc que l'on va essayer de ne mettre dans chaque fichier que l'implémentation que "d'un minimum raisonnable" de fonctions. Généralement, la règle utilisée pour savoir à quoi correspond ce "minimum raisonnable" de fonctions sera relativement simple:
- Si tu travailles avec des classes, tu ne mettra dans chaque fichier d'implémentation que les fonctions membre d'une seule et unique classe
- Si tu utilises des fonctions libres (comprends : qui ne font partie d'aucune classe), tu ne mettra dans chaque fichier d'implémentation que les fonctions relatives à "un même contexte" (par exemple : les fonctions de manipulation de dates, les fonctions de manipulation de couleur, ou autres).
- Pour chaque fichier d'implémentation, tu choisiras un nom en rapport avec son contenu.
De cette manière, il devient simple de se dire que, si tu as un problème avec une fonction qui a trait (par exemple) à la manipulation des couleurs, tu trouveras -- a priori -- la fonction fautive dans le fichier ... colors.cpp.
En outre, tu pourras beaucoup plus facilement retrouver la fonction en question dans ce fichier (qui ne contiendra qu'une centaine de lignes, rarement plus) que si tu devais la chercher dans un fichier qui contient les dix fonctions de manipulation de couleurs (100 lignes) + les dix fonctions de manipulation de dates (encore 100 lignes) + les dix fonctions de manipulation de distances (encore 100 lignes) + .... Soit un total de 15 278 lignes
Que tu envisages de créer une dll, une bibliothèque statique ou une application, tu utiliseras toujours cette approche de "diviser pour mieux régner" qui consistera -- pour l'aspect qui nous occupe -- à séparer les différentes fonctionnalités dans différents fichiers d'implémentation
Le choix de créer une bibliothèque dynamique/partagée (dll), une bibliothèque statique ou une application n'intervenant que "plus haut" dans la configuration de ton projet![]()
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Très clair ,merci pour vos réponses !!
Partager