Newsgroup: it.comp.lang.c++
Titolo: #ifdef

 DEFINITO MARIO O TONI....)
puoi scrivere
#if defined(MARIO) || defined(TONI)
Dopodiche' l'idea che tu possa determinare in fase di compilazione chi
sono i tuoi utenti mi incuriosisce...
Ciao,
Nicola

Ciao ragazzi,
 le mie sono sempre domande stupide.
 Volevo sapere come si usa la direttiva #ifndef in questo caso
 esempio
 #define PIPPO
 #ifdef PIPPO
   MessageBox..... 
 #endif
 Io però ho la necessita di definire una funziona solo a determinati
utenti . qui come si scrive questa direttiva nel caso abbia + di uno ..
es
 #ifdef MARIO || TONI
   Message
 #endif
  Questa naturalmente è errata (Perchè io volevo scrivere "SE E'
DEFINITO MARIO O TONI....)
Aiuto....
....
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 sono i tuoi utenti mi incuriosisce...
Con il (mitico) make fa una compilazione per mario e gliela copia nella 
directory di mario, successivamente compila per toni e fa la stessa 
cosa...
O no?
-- 
Luc.


Immagino. D'altro canto l'utente e' generalmente una proprieta' che si
individua a runtime.
Ciao,
Nicola

 individua a runtime.
A chi lo dici (programmando sistemi editoriali)... 8)
-- 
Luc.

individua a runtime.
A me dal contenuto della mail pare chiaro il tentativo di voler
fornire personalizzazioni differenti del programma in base al cliente
che lo usa senza essere costretto a riversare tutte le
personalizzazioni su un'unica versione(che alla fine risulterebbe
abbondantemente inquinata).
E' una situazione molto comune per chi scrive programmi, ma secondo me
la compilazione condizionale non risolve il problema ed alla lunga si
rivela ingestibile.
C'é chi risolve il problema della personalizzazione affidandosi agli
script, ma questo vuol dire cadere letteralmente fra le braccia delle
tecnologie proprietarie(COM nel caso si parli di Windows) a volte
anche piuttosto complicate.
Su un vecchio numero di PDJ ho letto un articolo che suggeriva un
sistema di personalizzazione del programma basato su classi template e
librerie dinamiche che ridefinivano funzioni membro virtuali in modo
da modificare il comportamento del programma semplicemente fornendo
versioni differenti di tali librerie( in assenza di tali libreria
venivano usate le funzioni membro di default). La realizzazione di
tale sistema non é certo semplice , ma può rivelarsi la scelta
migliore e più manutenibile.
Il Ghenio
---------
// TODO: Place your ass here

Ringrazio...
E spiego il motivo di + utenti.
Ho scritto un programma per negozi di abbigliamento, quindi gli utenti
sono
negozi pero i negozi italia gli devo far fare una cosa , russia ... e
cosi via
e poi con make... già risposto correttamente.
Comunque grazie... a tutti
Devis


 migliore e più manutenibile.
E' un area del C++ in grande fermento. Letture indispensabili sono
"Modern C++ Design" di A. Alexandrescu e "Generative Programming" di
Czarnecki e Eisenecker.
Ciao,
Nicola

 anche piuttosto complicate.
Python non e` ne` proprietario (ne` su Windows ne` altrove) e neppure
particolarmente complicato da inserire in un'applicazione C++ (usando
la Boost Python Library, 
www.boost.org
, ad esempio -- vi sono varie
possibilita`).  Usarlo per script di personalizzazione, in particolare,
e` del tutto fattibile.
Alex