cs_helena123
Messages postés22Date d'inscriptionmardi 4 mars 2003StatutMembreDernière intervention25 août 2003
-
16 avril 2003 à 22:38
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 2007
-
16 avril 2003 à 23:40
salut les garcons,
voila mon probleme,
je fais un programme en C et je voudrais que selon que l'os ( linux,windows) surlequel tourne la machine, il fasse appel a telle ou telle fonction ...
On m'a dit que l'on pouvait s'en sortir, effectivement , en mettant des :
#ifdef WIN
#endif
#ifdef BSD
#endif
mais il y a vraiment une ligne de commande a mettre a la place de WIN et BSD ... quelqu'un la connait ? Pleaaaaase.
c'est super urgent car je dois le rendre vendredi...
Un grand merci et un gros bisou a ceux qui essaient de m'aider,
xxx Helena xxx
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 20071 16 avril 2003 à 23:40
c'est pas WIN mais _WIN32
si tu es sur que tu compile que sous windows ou un unix tu peut faire:
#ifdef _WIN32
...
//code windows
...
#else
...
//code linux
...
#endif
sinon pour la ligne de commande tout dépend du compilateur utilisé. Mais avec cet exemple que je t'ai donné pas besoin de précisé quelque chose dans la ligne de commande.
sinon:
pour windows si c'est Visual C++, tu fais
ALT+F7 (ou menu Projet/Settings)
onglet C/C++
Catégorie: General
tu ajout ensuite WIN dans le champ texte initulé: Preprocessor definitions
ou si tu utilise le compilateur Visual C++ en ligne de commande (cl.exe) le paramètre est /D "WIN"
pour linux, si tu utilise gcc le paramètre c'est -d BSD
il est à noté qu'avec gcc la constante __gcc__ est prédéfinie (pas besoin de l'ajouter dans la ligne de commande.
Les constantes préfinies dépendent du compilateur utilisé.