Fichier Header (.h) Dynamique

Résolu/Fermé
yougi Messages postés 22 Date d'inscription vendredi 8 juin 2007 Statut Membre Dernière intervention 13 mars 2010 - 17 févr. 2010 à 15:56
yougi Messages postés 22 Date d'inscription vendredi 8 juin 2007 Statut Membre Dernière intervention 13 mars 2010 - 17 févr. 2010 à 16:10
Bonjour,

Je cherche à réaliser un petit programme en C portable sur tous les OS. Mais j'ai rencontré pas mal de problème :

Exemple :
L'appel de la fonction F dépend forcement du Système d'Exploitation où la compilation se fait. Donc,

- Pour OS1 il faut inclure la bibliothèque X
- Pour OS2 il faut inclure la bibliothèque Y
- ...

les questions qui se posent sont :

- Est que c'est possible de faire un test pour détecter l'OS avant d'inclure la bibliothèque concernée ? Si oui, comment procéder?

- J'ai pensé à écrire un Fichier *.h qui va dépendre du test... mais j'arrive pas. Y-a-t-il une façon pour rendre mon fichier en tête dynamique... ?

Merci chers développeur ^^
A voir également:

2 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
17 févr. 2010 à 16:02
Salut.
C'est possible grace aux macro du préprocesseur.
Normalement, tu peux connaitre l'OS et plein d'autre choses car le compilateur défini certaines macros ou non.
Par exemple, sous Linux, il y a __LINUX__ __LINUX_32__ etc. sous win __WIN32__
Tu peux même faire des tests sur la version du compilateur. par exmeple :
#ifdef __LINUX__
// fonction Linux
#elif defined __WIN32__
//fonction windows
#else
#warning erreur, OS non supporté
// je ne suis pas certain de la syntaxe de la dernière ligne en warning
#endif

à moins que ce ne soit pas ce que tu cherches, dans ce cas là, je t'incite à t'exprimer mieux.
3
yougi Messages postés 22 Date d'inscription vendredi 8 juin 2007 Statut Membre Dernière intervention 13 mars 2010 8
17 févr. 2010 à 16:10
Oui c'est exactement ce que je cherche..... Mercii "Char Snipeur" Mon problème est résolu !!
0