IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

liens dll / cpp


Sujet :

C++

  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Décembre 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Décembre 2019
    Messages : 67
    Par défaut liens dll / cpp
    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.

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    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.

  3. #3
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    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

  4. #4
    Membre confirmé
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Décembre 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Décembre 2019
    Messages : 67
    Par défaut Merci
    Très clair ,merci pour vos réponses !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lien DLL dans un répertoire spécifique
    Par dimdidi dans le forum Langage
    Réponses: 7
    Dernier message: 20/02/2006, 08h06
  2. Compiler dll avec Dev-Cpp
    Par madislak dans le forum Dev-C++
    Réponses: 2
    Dernier message: 15/02/2006, 18h06
  3. Réponses: 11
    Dernier message: 20/01/2006, 12h35
  4. Passage de matrice d Excel a une dll cpp
    Par brosspro dans le forum C++
    Réponses: 1
    Dernier message: 16/03/2005, 11h53
  5. creation DLL dev-cpp
    Par gaut dans le forum Dev-C++
    Réponses: 4
    Dernier message: 29/01/2004, 18h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo