9

私は stm によって STM32l151rct6a に取り組んでいます。これらの MACRO 定義に出くわしました。

__CC_ARM, __ICCARM__, __GNUC__, __TASKING__

誰かが彼らが何を意味するのか知っていますか?

4

3 に答える 3

13

これらは ARM プロセッサ用の異なるコンパイラです。おそらくこれらのマクロは、複数のコンパイラでコンパイル可能なコード内のコンパイラ依存のものを隠すために使用されます。

于 2013-07-10T13:57:23.867 に答える
2

これらは、コードのビルドに使用されているコンパイラを識別するためのマクロです。

そのようなマクロのリスト、およびアーキテクチャや OS などを識別するためのその他のリストは、http://sourceforge.net/p/predef/wiki/Home/にあります。ただし、小規模な組み込みシステム ベンダー (Tasking や Imagecraft など) の多くのコンパイラを包括的にカバーしているわけではありません。

于 2013-07-11T09:42:51.713 に答える
1

これらはコンパイラ固有のマクロであり、コンパイラ コードで定義されます。たとえば、__ICC は IAR 用で、__GNU は GNU コンパイラ用です。コンパイラに依存する STM プラットフォームの BSP 部分に指定されたコードがいくつかあります。

于 2013-07-10T13:57:45.473 に答える