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 :

Organisation des lib


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 90
    Par défaut Organisation des lib
    Bonjour,

    Je voudrais faire la chose suivante, je possède un ensemble de classes comme un chargeur d'images, un gestionnaire de log, un loader 3DS, ...
    Je désire les réunir en librairies différentes afin d'obtenir de petits modules facilement réutilisables.

    Je ne sais pas s'il faut mieux des .lib ou .dll ? Comment faire pour compiler séparément chacun des modules ?

    Merci

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Peux-tu préciser ta question ?

    Veux-tu en savoir plus sur la création des .lib et .dll ou savoir laquelle utiliser ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 90
    Par défaut
    Salut

    En fait j'ai toujours réalisé des projets "complets" et jamais à faire des classes réutilisables sous formes de librairies.

    Donc je voudrais faire en sorte que mes différentes classes puissent appartenir a une sorte de package à la JAVA. En C++ il y a les librairies statique et dynamique ... mais je ne vois pas trop la différence et encore moins comment obtenir ca.

    Merci.

    PS: j'étais sous linux mais je tente de me mettre sous windows avec Visual c++ 2005 express.

  4. #4
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    sous formes de librairies.
    En programmation, il n'y a pas de librairie, seulement des bibliothèques, c'est une mauvaise traduction !

    mais je ne vois pas trop la différence
    (je ne parle ici que du cas *NIX pour les notations), une bibliothèque peut être soit sous forme statique (.a) soit sous forme dynamique (.so). La bibliothèque statique est ajoutée au moment de l'édition des liens et elle fait partie intégrante de ton exécutable (ie : l'utilisateur n'a besoin de rien d'autre pour lancer ton programme), la bibliothèque dynamique est chargée soit au lancement du programme, soit lors d'une demande.

    Une bibliothque statique augmente la taille de ton exécutable mais permet de n'avoir aucune autre dépendance. La bibliothque dynamique permet de reduire la taille de ton exécutable mais nécéssite la présence de la dite bibliothèque sur la machine cible.

    La bibliothèque dynamique te permet de mieux gérér les évolutions. Avec une bibliothèque statique, tu dois recompiler tout ton programme pour propager les mises à jour dans ton programme. Avec une bibliothèque dynamique tu n'as qu'à mettre à jour la bibliothèque dynamique pour que ton programme profite des mises à jours.

    Pour ce qui est de l'utilisation, les bibliothèques sont compilés de façon quasi normale (en général il s'agit de l'ajout d'un mot clé à la compilation), pour ce qui est de l'utilisation, les bibliothèques statiques ne réclament rien puisque le code est dans l'éxécutable. Pour les bibliothèques dynamiques, c'est un peu plus compliqué puisqu'il te faut passer par des fonctions qui vont charger les fonctions de ta bibliothèques (fonctions dlopen et compagnie ).

    Si tu veux plus d'info n'hésite pas.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 90
    Par défaut
    Je te remerci pour ton aide cela fait un moment que je cherche de la doc mais je trouve rien sur le C++, juste du C or j'essaie de faire mes projet le plus objet possible.

    Le principal problème est que j'en ai marre de trimballer mes .cpp et . h de projet en projet par copier/coller, sans oublier qu'une mise a jour d'une classe entraine un nombre hallucinant de recopie.

    Je voudrais donc trouver un moyen de rendre facilement réutilisable l'ensemble de mes classes et ainsi facilité un maximum la création d'un nouveau projet.

    Et c'est la que je me suis dit, pourquoi ne pas utiliser une bibliothéque ?
    Mais ce n'est peut-être pas la meilleurs idée.

Discussions similaires

  1. [Conception] - Organisation des pages pour une requete.
    Par ShinJava dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 24/10/2005, 15h33
  2. [GUI]Organisation des classes
    Par c-top dans le forum Interfaces Graphiques en Java
    Réponses: 9
    Dernier message: 04/03/2005, 17h46
  3. Organisation des classes
    Par R3iTt0R dans le forum Langage
    Réponses: 2
    Dernier message: 02/06/2004, 17h27

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