Création d'une api sous linux embarqué
Résolu/Fermé
akira44
Messages postés
4
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
7 mars 2007
-
4 mars 2007 à 14:52
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 5 mars 2007 à 22:47
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 5 mars 2007 à 22:47
A voir également:
- Création d'une api sous linux embarqué
- Création organigramme - Guide
- Creation compte gmail - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création compte google - Guide
- Logiciel création karaoké gratuit - Télécharger - DJ & Karaoké
1 réponse
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
4 mars 2007 à 19:32
4 mars 2007 à 19:32
1/ Est-ce qu'une bibliothèque dynamique peut jouer à elle-seule le rôle d'API?
Oui, c'est même l'idéal...
2/Comment réalise t'on un .so? Je ne connais pas trop le domaine mais je compte faire ca en C++. Je suppose que je dois partir d'un api.h et d'un api.cpp et tout compiler ensuite. Mais quelle sont les options gcc nécessaire à l'optention d'une lib dynamique. Et quand j'aurai mon api.so, aurai-je toujours besoin de mon api.h pour faire fonctionner faire tourner la librairie dynamique?
Pour compiler une librairie dynamique c'est très simple, il faut juste rajouter l'option -shared dans la commande gcc.
Une librarie c'est comme une application habituelle mais sans main dedans.
Les gens qui voudront compiler des applis utilisant ton api auront besoin de ton api.h, cat c'est le fichier qui fournit les renseignements necessaires à l'utilisateur et à son compilateur pour utiliser ta librairie.
Une fois leur appli compilée, ils auront juste besoin de la librarie partagée, l'appli n'a pas besoin de api.h pour tourner.
Note que dans les fichiers .h , on doit voir les classes et les fonctions que tu proposes pour ton api. Ces fichiers sont obligatoires pour compiler un prog utilisant ta librarie.
Mais l'implémentation des méthodes de ces classes et de ces fonctions
doit être faite (en général) dans le fichier cpp. Ce fichier sera compilé dans ta librairie et n'a pas besoin d'être visible pour ceux qui utilisent ta librairie, bien que ça puisse leur être utile pour mieux comprendre comment elle fonctionne.
Et si ton programme a une licence open-source tu es tenu de mettre ces fichiers cpp à la disponibilité de tous....
Oui, c'est même l'idéal...
2/Comment réalise t'on un .so? Je ne connais pas trop le domaine mais je compte faire ca en C++. Je suppose que je dois partir d'un api.h et d'un api.cpp et tout compiler ensuite. Mais quelle sont les options gcc nécessaire à l'optention d'une lib dynamique. Et quand j'aurai mon api.so, aurai-je toujours besoin de mon api.h pour faire fonctionner faire tourner la librairie dynamique?
Pour compiler une librairie dynamique c'est très simple, il faut juste rajouter l'option -shared dans la commande gcc.
Une librarie c'est comme une application habituelle mais sans main dedans.
Les gens qui voudront compiler des applis utilisant ton api auront besoin de ton api.h, cat c'est le fichier qui fournit les renseignements necessaires à l'utilisateur et à son compilateur pour utiliser ta librairie.
Une fois leur appli compilée, ils auront juste besoin de la librarie partagée, l'appli n'a pas besoin de api.h pour tourner.
Note que dans les fichiers .h , on doit voir les classes et les fonctions que tu proposes pour ton api. Ces fichiers sont obligatoires pour compiler un prog utilisant ta librarie.
Mais l'implémentation des méthodes de ces classes et de ces fonctions
doit être faite (en général) dans le fichier cpp. Ce fichier sera compilé dans ta librairie et n'a pas besoin d'être visible pour ceux qui utilisent ta librairie, bien que ça puisse leur être utile pour mieux comprendre comment elle fonctionne.
Et si ton programme a une licence open-source tu es tenu de mettre ces fichiers cpp à la disponibilité de tous....
5 mars 2007 à 21:47
5 mars 2007 à 22:47