Używam clang
, gcc
i tcc
i chciałbym móc rozróżnić trzy we wspólnym nagłówku.Rozpoznawanie klangu, gcc i tcc za pomocą makropoleceń definiowanych przez implementację
Sądząc z ich zrzutów makr, spodziewam się, że obecność makra __clang__
będzie jednoznacznie identyfikować klang.
Nie mogę uzyskać zrzutu makra z tcc
($compiler -x c -E -dM /dev/null
nie działa w jego przypadku).
Co to jest makro (jeśli jest), które jednoznacznie identyfikuje gcc (i prawdopodobnie tcc)?
Może "__GNUC__"? –
Istnieją duplikaty dla gcc, powinieneś naprawdę zapytać tylko o tcc. – 2501
Klawisz @KerrekSB definiuje również '__GNUC__'. – PSkocik