Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1542 connectés 

  FORUM HardWare.fr
  Programmation

  [C/C++] mettre des #ifdef avec Visual Studio suivant OS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C/C++] mettre des #ifdef avec Visual Studio suivant OS

n°14613
WhitePoney
Moi ! Moi m'sieur !
Posté le 16-02-2001 à 10:25:41  profilanswer
 

J'ai cru lire qque part que faire un
 
#ifdef BLABLA
#include "plouploum.h"
#endif
 
c'était pas conseillé.
Pourtant j'en ai besoin : j'ai un programme qui doit tourner sous Unix et sous NT, mais sous NT j'ai un include à rajouter en +. Je fais donc le test ; Visual Studio positionne BLABLA en preprocessor definition (/d "BLABLA" ) mais ça ne marche pas, il ne fait le test que avec _WIN32 ou _WINDOWS à la place de BLABLA. Comment ça se fait ?

mood
Publicité
Posté le 16-02-2001 à 10:25:41  profilanswer
 

n°14615
n0mad
inscrit au XXe siècle
Posté le 16-02-2001 à 10:36:04  profilanswer
 

WhitePoney a écrit a écrit :

J'ai cru lire qque part que faire un
 
#ifdef BLABLA
#include "plouploum.h"
#endif
 
c'était pas conseillé.
Pourtant j'en ai besoin : j'ai un programme qui doit tourner sous Unix et sous NT, mais sous NT j'ai un include à rajouter en +. Je fais donc le test ; Visual Studio positionne BLABLA en preprocessor definition (/d "BLABLA" ) mais ça ne marche pas, il ne fait le test que avec _WIN32 ou _WINDOWS à la place de BLABLA. Comment ça se fait ?




 
Je ne vois pas pourquoi ça ne sera pas conseillé. A partir du moment on ne peut plus faire du code protable, les directives #if sont faites pour ça !


---------------
Pipiru piru piru pipiru pi
n°14616
Combi_A_Ve​ndre
Posté le 16-02-2001 à 10:41:41  profilanswer
 

Salut,
 
Je ne connais pas Visual Studio, mais au lieu de mettre  
#ifdef VISUAL_STUDIO
#include "plouploum.h"
#endif
 
tu peux faire
#ifndef UNIX
#include "plouploum.h"
#endif
 
 
Et passer UNIX=true dans Unix
Ca ne réponds pas trop à ta question, mais c'est un moyen de contournement.
 
vw


---------------
The best way to accelerate a computer running windows is at 9.8m.s-2
n°14617
WhitePoney
Moi ! Moi m'sieur !
Posté le 16-02-2001 à 10:42:28  profilanswer
 

Sais-tu pourquoi Visual Studio (6) ne semble accepter que les nom _WIN32 et _WINDOWS ?

n°14650
WhitePoney
Moi ! Moi m'sieur !
Posté le 16-02-2001 à 14:27:37  profilanswer
 

c'est bon j'ai trouvé le problème ; il y a pleins d'endroits où on peut mettre des preprocessor definition, et forcément j'ai mis les miens partout sauf là où il fallait (menu projet -> settings -> C/C++ -> General -> preprocessor definition).  
J'ai pu mettre mes propres noms de variables et ça marche. Ouf !

n°14706
BifaceMcLe​OD
The HighGlandeur
Posté le 16-02-2001 à 22:37:37  profilanswer
 

Ce n'est pas conseillé car ça crée du code spaghetti, tout simplement.
 
Mais il y a des fois (typiquement pour la portabilité) où c'est quand même nécessaire. Dans ce cas, le meilleur conseil à donner est d'isoler au maximum le code dépendant plate-forme dans un ou quelques modules, encapsulant ainsi la gestion de la portabilité. Et le reste du code ne contient pas un seul #ifdef, et se contente de se reposer sur les modules gérant la portabilité.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C/C++] mettre des #ifdef avec Visual Studio suivant OS

 

Sujets relatifs
[javascript + visual] modifier une variable java script[3D Studio Max SDK] connaissez-vous des sites en français ?
[C++/Visual C++] Bon après les livres les sites FRANCOPHONESLivres C++/Visual C++ 6, si il ne devait en rester qu'un lequel ?
Débuter : C, C++ ou Visual C++ ?Visual C++ : je débute
Débutant Visual C++ avec MFC, qui peut répondre à quelques questions?[Visual C++] [MFC] Sous-classer CTabCtrl
[Visual C++] Recherche sites intéressantsHelp JavaScript : comment modifier le script suivant ?
Plus de sujets relatifs à : [C/C++] mettre des #ifdef avec Visual Studio suivant OS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR