Pytanie jest całkiem jasne, myślę. Próbuję napisać nagłówek wykrywania kompilatora, aby móc uwzględnić w informacjach o aplikacji, który kompilator był używany i która wersja.Jak wykryć LLVM i jego wersję za pomocą dyrektyw #define?
Jest to część kodu używam:
/* 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
które mogłyby zostać wykorzystane tak:
printf(" Compiled using " COMPILER "\n", COMP_VERSION);
Czy istnieje jakiś sposób, aby wykryć LLVM i jego wersję? I CLANG?
wielkie pytanie, nie mogę znaleźć żadnego DOCO na nim w ogóle –
Czasem trzeba wiedzieć, jeśli dzyń Integrated Assembler jest używany, zbyt. Przypadkiem użycia jest nowoczesny GCC, a kompilator wykorzystuje Clang jako asembler zamiast starego GAS do montażu AESNI, AVX, BMI itp. Używasz zintegrowanego asemblera, ponieważ AS i Apple są zbyt stare, by zużywać zespół produkowany przez front -kończy się. – jww