La domanda è abbastanza chiara, penso. Sto cercando di scrivere un'intestazione di rilevamento del compilatore per poter includere nelle informazioni dell'applicazione su quale compilatore è stato utilizzato e quale versione.Come rilevare LLVM e la sua versione tramite le direttive #define?
Questo fa parte del codice che sto utilizzando:
/* GNU C Compiler Detection */
#elif defined __GNUC__
#ifdef __MINGW32__
#define COMPILER "MinGW GCC %d.%d.%d"
#else
#define COMPILER "GCC %d.%d.%d"
#endif
#define COMP_VERSION __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__
#endif
che potrebbe essere utilizzato in questo modo:
printf(" Compiled using " COMPILER "\n", COMP_VERSION);
Esiste un modo per rilevare LLVM e la sua versione? E CLANG?
grande questione, non riesco a trovare alcuna doco su di esso a tutti –
A volte è necessario sapere se è in uso di Clang Assembler integrato, anche. Il caso d'uso è il GCC moderno e il compilatore usa Clang come assemblatore piuttosto che un vecchio GAS per assemblare AESNI, AVX, BMI, ecc. Si usa l'assemblatore integrato perché l'AS e il LD di Apple sono troppo vecchi per consumare l'assemblaggio prodotto dalla parte anteriore -ends. – jww