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, systèmes et outils C Discussion :

Compilation via tableau de pointeurs de fonctions


Sujet :

Bibliothèques, systèmes et outils C

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Compilation via tableau de pointeurs de fonctions
    Bonjour,

    J'aurais besoin de créer mes propres librairies dynamique faisant appel à des fonctions dont les sources ne sont pas visible.

    Il m'a été conseillé de construire un tableau de pointeurs de fonctions contenant tous les appels dont mes librairies auront besoin... mais concrètement ça ne m'avance pas tellement (n'étant pas vraiment à l'aise avec la compilation en général).

    Sauriez vous me conseiller ? Ou mieux, me donner un exemple suffisamment parlant pour que je puisse comprendre ?

    Cordialement.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 894
    Points : 219 536
    Points
    219 536
    Billets dans le blog
    124
    Par défaut
    Bonjour,

    Je ne comprends pas la problématique.
    J'aurais besoin de créer mes propres librairies dynamique faisant appel à des fonctions dont les sources ne sont pas visible.
    Pas visible par qui ? Tout le monde peut faire un dlopen/dlsym (ou GetProcAddress()) à un moment de sa vie et ça devient visible
    Comment imaginiez vous cela ? Sans que le code source soit distribué ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Je pense que vous m'avez mal compris.

    C'est moi qui cherche à créer mes libs faisant appel à des fonctions dont je ne possède pas les sources.
    Ce qui rend logiquement mes phases de compilations impossibles (pour cause de fonctions inconnu) !

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 395
    Points : 23 759
    Points
    23 759
    Par défaut
    Bonjour,

    Il est tout-à-fait possible d'écrire des bibliothèques sans avoir le code source de ses dépendances… ne serait-ce que pour pouvoir compiler vis-à-vis de celles qui sont proposées par le système d'exploitation lui-même. Il suffit simplement de déclarer les prototypes des fonctions externes, c'est-à-dire l'entête de la fonction « type nom(type paramètre,…) », mais terminé par un point-virgule et sans le corps de la fonction qui le suit en principe. Tous ces prototypes vont en principe dans un fichier *.h livré avec la bibliothèque compilée, justement pour pouvoir les inclure sans avoir à tout redéclarer soi-même.

    L'ensemble de ces prototypes forme l'interface (API) de la bibliothèque car c'est tout ce que le programme a besoin de connaître pour les appeler.

    En revanche, au moment de compiler, il faudra veiller à bien spécifier au compilateur et à l'éditeur de liens que c'est une bibliothèque que l'on cherche à produire et pas un exécutable final.

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Je comprend ce que vous dite mais il m'était initialement conseillé de "construire un tableau de pointeurs contenant tous les appels dont mes librairies auront besoin... et leurs passer ce tableau à l'initialisation de mes librairies".

    S'agit-il d'une autre solution aboutissant plus ou moins au même résultat ou es-ce totalement différent ?
    J’essaierai dans tout les cas votre solution !

    Cordialement.

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/01/2013, 15h30
  2. tableau de pointeur de fonction
    Par exhortae dans le forum C
    Réponses: 2
    Dernier message: 31/12/2007, 12h33
  3. [BCB6]Tableau de pointeurs sur fonctions
    Par rtg57 dans le forum C++Builder
    Réponses: 6
    Dernier message: 06/10/2006, 20h49
  4. Tableau de pointeur de fonction
    Par Gryzzly dans le forum C
    Réponses: 7
    Dernier message: 31/12/2005, 10h47
  5. Tableau de pointeurs de fonctions
    Par Alp dans le forum C++
    Réponses: 7
    Dernier message: 29/10/2005, 13h19

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