IBM XL C / C ++ Compiler: modalità compilatore verifica con direttiva del preprocessore

StackOverflow https://stackoverflow.com/questions/4536896

  •  13-10-2019
  •  | 
  •  

Domanda

Sto cercando di compilare un test.cpp file di esempio C ++ utilizzando IBM XLC compilatore sul sistema AIX. Il file deve essere compilato in entrambe le modalità a 32-bit e 64-bit. Sto usando i seguenti comandi per compilare loro in entrambi i modi:

xlC test.cpp (modalità compilatore di default è a 32 bit)

xlC -q64 test.cpp

Sotto test.cpp, devo printf("Using 32-bit compiler") se compilazione per 32-bit e printf("Using 64-bit compiler") se la compilazione a 64 bit.

Come posso ottenere questo utilizzando condizionali preprocessore? C'è un pre-definito macro sia per compilatore o per architettura della macchina che racconta la differenza?

È stato utile?

Soluzione

in XLC, se si utilizza il flag -q64, viene definita la __64BIT__ macro.

Direttamente dal IBM XL C / C ++ 's documentazione :

Se il compilatore viene richiamato in modalità a 64 bit, è definita la macro __64BIT__ preprocessore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top