Ich versuche, den Compiler zu erkennen, der zum Kompilieren meines Quellcodes verwendet wird. Ich kann leicht vordefinierte Makros finden, um nach MSVC oder GCC zu suchen (siehe zum Beispiel http://predef.sourceforge.net/ ), aber ich kann kein Makro finden, um nach Klirren zu suchen.
Weiß jemand, ob clang ein Makro wie definiert, __CLANG__
um zu wissen, was gerade meinen Code kompiliert?
c
macros
clang
c-preprocessor
Pierre Bourdon
quelle
quelle
Antworten:
Verwenden Sie Folgendes, um eine Liste aller vordefinierten Makros zu erhalten, die der Compiler verwendet:
Sie können das gleiche für gcc tun.
quelle
Die Antwort mit
strings
+ gefundengrep
:quelle
Diese Frage wurde jahrelang beantwortet, aber lassen Sie mich (als zukünftige Referenz) hinzufügen, wie es in Windows gemacht wird :
wie bei GCC:
Bitte beachten Sie: Der letzte Strich
-
ist eigentlich wichtig! (Ansonsten bekommst duerror: no input files
für beide Compiler)quelle
/dev/null
isNUL:
/dev/null
ist mehr Arbeit.