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

Bibliothèques Discussion :

Quel est la différence entre une bibliotheque et une entete ?


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ..::snake::..
    Inscrit en
    Mai 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 318
    Par défaut Quel est la différence entre une bibliotheque et une entete ?
    Bonjout

    Je vien de chercher la différence entre une lib et un entete mais je ne trouve pas ou sont les point de différence

    Alors je me suis dériger vers la FAQ mais rien compris

    Alors quelqu'un pourrai nous expliquer cela ?

    Stdio.h c'est une Lib ou entete et comment , pourquoi ?
    math.h

    Je voi que les Library ont l'extension .lib

    s'il vous plais aidez moi a comprendre cela :s

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu n'as pas de livres ou "internet" ?

    regarde par là : http://fr.wikipedia.org/wiki/Bibliot...que_logicielle


    Stdlib.h est un fichier en-tête (le .h) qui a donc (on va résumer) les prototypes de diverses fonctions.

  3. #3
    Membre éclairé Avatar de ..::snake::..
    Inscrit en
    Mai 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 318
    Par défaut
    Ce n'est pas ca que je cherche , puisque j'ai déja pas male chercher sur le net . mais je ne comprend pas , des foi en appelle un (.h) une bibliotheque des foi en l'appelle un entete , c'est que je ne comprend pas .

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant
    Inscrit en
    Avril 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Par défaut
    La différences entre un bibliothèque et un fichier entête :

    Le fichier .h contient les prototypes des fonctions, des structures.
    Pour un bibliothèque elle contient le code compiler des fonctions.

    Voila un exemple :

    On a un code qui est divisé en deux fichiers :

    fichier.h et fichier.c

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // fichier.h
    struct Type1{
        // définition de la structure 
    }
    void fonction1(Type1,...);
    void fonction2(...);
    // etc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include "fichier.h"
    // fichier.c
    void fonction1(Type1,...){
          // code de la fonction
    }
    void fonction2(...){
          // code de la fonction
    }
    // etc
    imagine que tu as un ensemble de fichier .h et .c qui permet de faire certaine action. Tu veux les regrouper. Donc tu fais une bibliothèque.
    Quand tu compile ce code en bibliothèque statique tu fait (sous Système Unix, Linux ...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    gcc -c fichier.c -o fichier.o
    gcc -c fichier1.c -o fichier1.o
    gcc -c fichier2.c -o fichier2.o
    ...
    Quand tu as tous compilé tu regroupe c'est fichier objet dans ta bibliotheque en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // crée l'archive de la bibliothèque
    ar r liboutils.a fichier.o fichier1.o ...
    // liste le contenue de l'archive
    ar t liboutils.a
    // crée l'index
    ranlib liboutils.a
    Voila tu as ta bibliothèque

    Maintenant pour l'utiliser tu as juste à inclure les .h des fichiers dans ton programme pour utiliser les fonctions de la bibliothèques

    a la compilation du fera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gcc -o MonProg monprog.c -L"CheminDeLaBibli/" -loutils
    et voila.

    Donc pour résumer en général (toujours) tu inclus les .h dans ton fichier pour les bibliothèques statiques.

    Voila un liens qui peut t'en apprendre plus :
    http://www.cmi.univ-mrs.fr/~contensi...n=env&page=bib

  5. #5
    Membre éclairé Avatar de ..::snake::..
    Inscrit en
    Mai 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 318
    Par défaut
    Merci ITCsoft54 , ca étais une explication bref et complete pour les entete , mais pour les Bibliothque en a pas bien compris .

  6. #6
    Membre confirmé
    Homme Profil pro
    Consultant
    Inscrit en
    Avril 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Par défaut
    Citation Envoyé par __snake__
    ... des foi en appelle un (.h) une bibliotheque des foi en l'appelle un entete ,...
    Tu as un exemple ? (tu peux poster du code ?)

  7. #7
    Membre éclairé Avatar de ..::snake::..
    Inscrit en
    Mai 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 318
    Par défaut
    Non je n'est pas d'exemple , c'est ce que j'ai lut sur les DOC
    biensure si j'ai pas male compris .

  8. #8
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut Qu'est-ce qu'un bibliothèque ? Petit cours très vulgarisé.
    Bonjour.
    Tu sembles avoir compris ce qu'est un (une ?) en-tête. Quant aux bibliothèques, voila une explication vulgarisée mais suffisante pour les manipuler.

    Il existe deux type de bibliothèque : les statiques et les dynamiques.
    • Les bibliothèques dynamiques (.dll sous windows) sont les plus simple à comprendre. Il s'agit, en gros, d'un exécutable qui ne contient pas de point d'entrée. Un programme (.exe sous windows) a un "ENTRY POINT" qui précise à l'ordinateur où commencer (ce n'est pas au début). Une bibliothèque dynamique n'en a pas, il faut qu'un programme la charge et indique au processeur qu'en faire (exécuter telle ou telle fonction, utiliser telle ou telle donnée ...).
    • Les bibliothèque statiques (.lib sous windows) sont un peu plus complexes.
      En gros toujours, la seule différence avec la dynamique est qu'elle ne peut être utilisée directement par un programme, c'est ton compilateur qui va, lorsqu'il construira un programme, insérer dans celui-ci les données et fonctions de la biblio. On peut dire qu'une lib est un cpp précompilé ...


    Pour finir,
    Pour utiliser une dll, il faut : un .h (en-tête) et un .lib (petite, pour le linker) pour le compilateur ; et uniquement l'exécutable et la dll pour l'utilisateur. Le pregramme est séparé en deux modules.
    Pour utiliser une lib, il faut un .h pour le compilateur ; et uniquement l'exécutable pour l'utilisateur.

    Avantage de la dll : code séparé (plus simple pour mettre à jour, déboguer), simple d'utilisation
    Avantages de la lib : seules les fonctions de la lib utilisées par le programme seront compilée, les autres jetées aux oubliettes (taille de l'exe plus faible)


    Encore une fois, ce que je dis n'est qu'une vulgarisation, valable dans la plupart des cas simples. J'espère qu'il te premettra de mieux comprendre l'utilité des bibliothèques.

Discussions similaires

  1. Quel est la différence entre une image systeme et le backup
    Par pierrot10 dans le forum Windows 7
    Réponses: 22
    Dernier message: 27/03/2014, 19h24
  2. CSS: Quel est la différence entre ceci
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 19/09/2006, 16h17
  3. CSS: quel est la différence entre line-height et height
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 29/08/2006, 23h30
  4. [debutant] quel est la différence entre .pl et .pm?
    Par pierrot10 dans le forum Langage
    Réponses: 4
    Dernier message: 17/07/2006, 12h10
  5. Réponses: 11
    Dernier message: 31/01/2005, 17h48

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