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

Autres éditeurs Discussion :

libliotheque en C et C++


Sujet :

Autres éditeurs

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut libliotheque en C et C++
    Bonjour,

    Cela fait une éternité que je ne code plus. Quelqu'un aurait la gentillesse de me rappeler l'extention d'une lib en C et en C++ ?

    J'ai un fichier exe qui a besoin d'un fichier .a , selon vous ce programme a été codé en C ou C++ ?

    Merci beaucoup

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 761
    Par défaut
    Citation Envoyé par lilio Voir le message
    Bonjour,

    Cela fait une éternité que je ne code plus. Quelqu'un aurait la gentillesse de me rappeler l'extention d'une lib en C et en C++ ?

    J'ai un fichier exe qui a besoin d'un fichier .a , selon vous ce programme a été codé en C ou C++ ?

    Merci beaucoup
    Salut,

    L'extension des librairies dépendent du compilateur : s'il s'agit de GCC ou d'un de ses dérivés (MinGW, par exemple), l'extension sera .a ; par contre, s'il s'agit de Visual Studio (ou d'un compatible), ce sera .lib. Il existe beaucoup d'autres compilateurs pour Windows : il choisissent généralement l'extension .lib. Dans le monde du libre, je ne connais pas d'autre...

    Cela signifie juste que la bibliothèque a été compilée avec GCC ou MinGW. Il est possible que les autres compilateurs de la suite GCC (Fortran, Java...) utilisent aussi cette extension, mais je n'en suis pas sûr.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    Merci de ta réponse mais j'aimerais savoir en quoi est écrit ce petit exe , en langage C ou en C++ ?

    Merci!!

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    A moins que ton exe ait été compilé en debug, il y a fort peu de chances que tu saches quel est le langage source. Tu peux peut-être te fier aux DLLs qu'il utilise et encore...

    Ton exécutable peut tout aussi bien être le résultat de la compilation commune de sources C et de sources C++.

    J'ai un fichier exe qui a besoin d'un fichier .a , selon vous ce programme a été codé en C ou C++ ?
    L'extension n'est pas dépendante du langage utilisé.

    Bizarre, un .exe aurait plutôt besoin d'une DLL, pas d'un .a qui est l'extension des librairies statiques sous gcc.

    Pour terminer, je ne vois pas bien à quoi ça peut te servir de savoir si ton exe est en C ou en C++.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    en fait il s'agit d'un exe lancé sous Unix par un shell...
    dans le message d'erreur , il me dit qu'il cherche d'un .a

    Ce module a été développé par une autre société. Je n'ai que le package tout fait, pret à être installé mais pas pret à marcher visiblement!

    voilà, sinon j'ai besoin de savoir en quoi c'est fait juste pour causer dans les mails avec des gens qui sont un peu comme moi !

  6. #6
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 761
    Par défaut
    Citation Envoyé par lilio Voir le message
    Merci de ta réponse mais j'aimerais savoir en quoi est écrit ce petit exe , en langage C ou en C++ ?

    Merci!!
    Tu peux y aller à l'arrache dedans, pour les .a : tu ouvre le fichier avec vi ou équivalent, puis tu recherche le nom d'une fonction. Les fonctions sont délimitées (du moins, sous VS, je n'ai pas de lib pour GCC sous la main...) par des caractères \0. Donc, si tu as des choses de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    __imp__cublasGetVector@24
    C'est du C. Par contre, si c'est du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ?createIndex@QAbstractItemModel@@IBE?AVQModelIndex@@HHI@Z
    C'est du C++.
    Si tu as un peu de C++ et un peu de C, c'est forcément du C++. Si tu n'as pas de C++, alors c'est du C.

    Dans certains exécutables, tu peux aussi faire la même chose (au moins pour le format PE, .exe sous Windows). Vers la fin, tu pourrais trouver des choses du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ?append@QString@@QAEAAV1@ABVQLatin1String@@@Z
    C'est encore du C++.

    Il y a sûrement des méthodes moins bourrines, mais il faut les connaître.

    Citation Envoyé par aoyou Voir le message
    Bizarre, un .exe aurait plutôt besoin d'une DLL, pas d'un .a qui est l'extension des librairies statiques sous gcc.

    Pour terminer, je ne vois pas bien à quoi ça peut te servir de savoir si ton exe est en C ou en C++.
    Le fichier .a, c'est peut-être un plug-in avec un format particulier et propre à l'application...

    Un .a, c'est simplement une librairie d'import, que ce soit d'une librairie statique ou dynamique.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    Bonjour,

    Me revoilà avec mes questions à la ...

    Maintenant j'ai des sources (.h, .cpp,.c ) et un makefile.
    J'ai un serveur Unix Aix.

    J'aimerais recompiler cette appli. Comment je sais si j'ai un compilateur sur ce serveur ou pas ?

    Merci d'avance de votre aide

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Le compilateur d'AIX s'appelle xl. Essaie xlc (compilateur C) ou xlC (C++) en ligne de commande et tu verras si le compilo est installé.

    Sinon, il peut très bien y avoir gcc d'installé (on ne sait jamais).

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