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

Administration système Discussion :

bibliotheque .a ou .so


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 636
    Par défaut bibliotheque .a ou .so
    Bonjour,


    J'ai un projet dont le but est de faire une bibliotheque de fonction manipulant n'importe quel ensemble mathématique. Bref en gros j'ai:

    fichier.h
    fichier.c qui contient l'implémentation de mes fonctions
    main. c (plusieurs main en fait) permettant de tester ma bliotheque.

    On me demande de réaliser un bibliothèque au sens linux du terme .a ou .so...

    Or moi je ne sais pas comment faire avec la description des différents fichiers décrits ci-dessus. Comment créer un .a ou .so (sachant que je ne sais pas trop de que c'est même après recherche).

    Merci d'avance
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    il semblerait que l'extension ne serve que d'indication.
    comme on a les .dll sous Windows, on a les .so sous linux qui sont les librairies dynamiques (et donc qu'on peut charger à la volée). et pour les créer, plutot qu'un exe, il suffit de mettre le flag -c au compilateur.
    (pour le a, il s'agit d'une librairie statique et là je sais pas trop ce que c'est la définition dit que la lib est chargé au moment du link, à l'inverse des shared qui sont utilisées par plusieurs programmes. pas très clair tout ca )

    p-e ce lien pourrait-il t'aider:
    http://www.adp-gmbh.ch/cpp/gcc/create_lib.html

    il parle de gcc donc ce sera p-e à adapter à ton compilateur

  3. #3
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 636
    Par défaut
    merci je sais lire ce qu'il y a sur google...


    et non le flag -c à la compilation n'a pas ce résultat. Je cherche justement quelle est la commande à saisir. Pour le moment j'ai mon .h mes .c puis mes .o pour mon exe.


    Mais il me faut des .a ou .so


    Je vais regarder le lien apparement il y a un exemple.merci

    Citation Envoyé par Louis-Guillaume Morand Voir le message
    il semblerait que l'extension ne serve que d'indication.
    comme on a les .dll sous Windows, on a les .so sous linux qui sont les librairies dynamiques. et pour les créer, plutot qu'un exe, il suffit de mettre le flag -c au compilateur.

    p-e ce lien pourra p-e t'aider:
    http://www.adp-gmbh.ch/cpp/gcc/create_lib.html

    il parle de gcc donc ce sera p-e à adapter à ton compilateur
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  4. #4
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    d'après le lien,
    "-c" permet d'obtenir des .o
    puis la commande "ar" permet de transformer le .o en .a

    ar rcs nom_final.a fichier.o

  5. #5
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 636
    Par défaut
    La commande marche j'ai bien un .a ...mais si quelqu'un pouvait m'expliquer qu'elle en est l'utilité alors que j'ai mon .h mes .c et mes fichiers tests qui tournent..pourquoi on me demande un .a ou .so a quoi ca sert??
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  6. #6
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    et c'est juste pour créer une librairie externe. Ensuite pour montrer quelle marche, il faut créer un programme avec juste une méthode main qui charge le fichier .so puis qui appelle les méthodes de .so


    pour le .so
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -o GenExt2FS.so -shared GenExt2FS.o -lgcc
    ou alors le paramètre "-fPIC" à la place -lgcc si ca plante

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

Discussions similaires

  1. [Tomcat]problème jsp et bdd, bibliotheque virtuelle
    Par drapier dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 09/01/2005, 10h54
  2. Réponses: 2
    Dernier message: 03/12/2004, 21h37
  3. Bibliothèques et Python
    Par Zorro dans le forum Général Python
    Réponses: 3
    Dernier message: 06/10/2004, 21h49
  4. bibliotheques graphiques et devc++
    Par bellepatte dans le forum C
    Réponses: 2
    Dernier message: 18/10/2003, 13h32
  5. [Kylix] bibliotheque libtwin32.so
    Par mic006 dans le forum EDI
    Réponses: 1
    Dernier message: 08/05/2002, 01h36

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