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

 


Dernière réponse
Sujet : [C/C++] mettre des #ifdef avec Visual Studio suivant OS
BifaceMcLeOD 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é.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
BifaceMcLeOD 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é.
WhitePoney 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 !
WhitePoney Sais-tu pourquoi Visual Studio (6) ne semble accepter que les nom _WIN32 et _WINDOWS ?
Combi_A_Vendre 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
n0mad

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 !

WhitePoney 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 ?

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