7

clanggcc、およびを使用tccしていますが、共通のヘッダーで 3 つを区別できるようにしたいと考えています。

マクロ ダンプから判断すると、マクロの存在によって __clang__clang が一意に識別されると思われます。

でマクロ ダンプを取得できませんtcc($compiler -x c -E -dM /dev/nullこの場合は機能しません)。

gcc (および場合によっては tcc) を一意に識別するマクロ (存在する場合) は何ですか?

4

1 に答える 1

10

__TINYC__ を使用して tcc 1を検出します。

gcc と clang の検出は、この StackOverflow の質問で説明されています: msvc / clang with macro に対して gcc を検出する


1 (引用元: http://bellard.org/tcc/tcc-doc.html#SEC9 )
__TINYC__ は、TCC を使用していることを示す 1 に対する定義済みのマクロです。

于 2016-09-12T09:03:50.880 に答える