2016-09-12 24 views
6

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)?

+0

Może "__GNUC__"? –

+0

Istnieją duplikaty dla gcc, powinieneś naprawdę zapytać tylko o tcc. – 2501

+0

Klawisz @KerrekSB definiuje również '__GNUC__'. – PSkocik

Odpowiedz