Supponiamo HoC'è un modo per controllare valore non numerico di un macro
#define Name Joe
C'è un modo per distinguere diversi valori per la macro. Quanto segue non funziona, ma si ottiene l'idea
#if Name==Joe
// some code
#elif Name==Ben
// some alternative code
#endif
Voglio usare questo per vari file oggetto generati dallo stesso codice sorgente. La sorgente differisce solo di poco, quindi può essere facilmente controllata da macro. La macro deve essere inoltrata tramite il flag del compilatore -DName=Joe
. Si noti inoltre che il Name
sarà un nome effettivo simbolo, quindi non possiamo usare i trucchi basati su #define Joe 1
ecc
costretto modificare Nota che this similar question si occupa in realtà con le macro di stringa a valore. Inoltre le risposte non aiutano. La risposta accettata evita il problema (ma non lo risolve), un'altra risposta utilizza strcmp
nelle macro, che fa affidamento su un'estensione, ecc.
Una funzione non funziona per te? Qual è il caso d'uso per questo? – NathanOliver
Probabilmente non vuoi che (problema XY) –
@NathanOliver vedi modifica – Walter