Diese sind verschiedene Compiler für ARM-Prozessoren, die wahrscheinlich diese Makros werden verwendet, um hide-compiler-abhängige Sachen in dem code kompilierbar durch mehrere Compiler.
ICCARM --> IAR (es wird auch ein makro __IAR_SYSTEMS_ICC__ festgelegt ist, die compiler-Plattform-version
__IMAGECRAFT__ --> Wurden Imagecraft C (siehe auch Clifford ' s Kommentare unten - es gibt auch ein makro __ICC_VERSION__ finden Sie in der pdf-Dokumentation)
__CC_ARM -->Beschreibung Wurden imagecraft Makros sind __IMAGECRAFT__ und __ICC_VERSION. __ICCARM__ zu sein scheint IAR. vielen Dank für das heads-up, ich werde die richtige Antwort. Bezüglich __ICC_VERSION__ ist, kann ich nicht sofort feststellen, dass man in Dokumentation In der PDF-Bedienungsanleitung, Seite 56. Okay, ich sehe, das online doc meinte ich, ist ziemlich alt in der Erwägung, dass die PDF, die Sie zeigen, um Dokumente der version 8.
Sind Sie Makros für die Ermittlung der compiler verwendet, um den code zu erstellen.
Eine Liste der Makros, und andere für die Identifikation von Architektur-und OS usw. finden Sie bei http://sourceforge.net/p/predef/wiki/Home/. Es bedeutet jedoch nicht erschöpfend behandeln viele Compiler von kleineren embedded-Systeme-Anbieter (Tasking und wurden imagecraft zum Beispiel).
Diese sind compiler-spezifische MAKROS definiert und in der compiler-code.Zum Beispiel __ - ICC ist für IAR und die __GNU steht für GNU Compiler.Es gibt einige code in BSP-Teil für die STM-Plattform, die eine Abhängigkeit von Compilern.
Nach sourceforge.net/p/predef/wiki/Compilers IAR ist gekennzeichnet durch IAR_SYSTEMS_ICC. Eine andere Antwort hier suggeriert wurden imagecraft C für _ICC, das klingt plausibel. Linie #elif defined ( __ICCARM__ ) /* IAR Ewarm 5.41+ */ auf Diesen Link und Diesen link Spricht über IAR nur. In der Tat - es gibt keine standard -, IAR-und wurden imagecraft kann sowohl verwendet dies, die andere Antwort kann falsch sein, und die Sourceforge-wiki können unvollständig sein oder Fehler enthalten. Verwenden Sie immer solche Makros mit Vorsicht zu genießen. Die andere Antwort falsch war - wurden imagecraft verwenden __IMAGECRAFT__sagt das Handbuch. Sie haben weitere __ICC_VERSION was zu Missverständnissen führen kann. Vielen Dank für mehr Klarheit und zuverlässige verbindungen auf diesen thread.
Diese sind verschiedene Compiler für ARM-Prozessoren, die wahrscheinlich diese Makros werden verwendet, um hide-compiler-abhängige Sachen in dem code kompilierbar durch mehrere Compiler.
ICCARM
--> IAR (es wird auch ein makro__IAR_SYSTEMS_ICC__
festgelegt ist, die compiler-Plattform-version__IMAGECRAFT__
--> Wurden Imagecraft C (siehe auch Clifford ' s Kommentare unten - es gibt auch ein makro__ICC_VERSION__
finden Sie in der pdf-Dokumentation)TASKING
--> Tasking__CC_ARM
--> ARM (RealView-compiler__GNUC__
--> gccWurden imagecraft Makros sind
__IMAGECRAFT__
und__ICC_VERSION
.__ICCARM__
zu sein scheint IAR.vielen Dank für das heads-up, ich werde die richtige Antwort. Bezüglich
__ICC_VERSION__
ist, kann ich nicht sofort feststellen, dass man in DokumentationIn der PDF-Bedienungsanleitung, Seite 56.
Okay, ich sehe, das online doc meinte ich, ist ziemlich alt in der Erwägung, dass die PDF, die Sie zeigen, um Dokumente der version 8.
InformationsquelleAutor fvu
Sind Sie Makros für die Ermittlung der compiler verwendet, um den code zu erstellen.
Eine Liste der Makros, und andere für die Identifikation von Architektur-und OS usw. finden Sie bei http://sourceforge.net/p/predef/wiki/Home/. Es bedeutet jedoch nicht erschöpfend behandeln viele Compiler von kleineren embedded-Systeme-Anbieter (Tasking und wurden imagecraft zum Beispiel).
InformationsquelleAutor Clifford
Diese sind compiler-spezifische MAKROS definiert und in der compiler-code.Zum Beispiel __ - ICC ist für IAR und die __GNU steht für GNU Compiler.Es gibt einige code in BSP-Teil für die STM-Plattform, die eine Abhängigkeit von Compilern.
Linie
#elif defined ( __ICCARM__ ) /* IAR Ewarm 5.41+ */
auf Diesen Link und Diesen link Spricht über IAR nur.In der Tat - es gibt keine standard -, IAR-und wurden imagecraft kann sowohl verwendet dies, die andere Antwort kann falsch sein, und die Sourceforge-wiki können unvollständig sein oder Fehler enthalten. Verwenden Sie immer solche Makros mit Vorsicht zu genießen.
Die andere Antwort falsch war - wurden imagecraft verwenden
__IMAGECRAFT__
sagt das Handbuch. Sie haben weitere__ICC_VERSION
was zu Missverständnissen führen kann.Vielen Dank für mehr Klarheit und zuverlässige verbindungen auf diesen thread.
InformationsquelleAutor Dayal rai