Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What do the __CC_ARM, __ICCARM__, __GNUC__ and __TASKING__ macros mean?

I am working on STM32l151rct6a by stm, I have stumbled upon these MACRO definitions

__CC_ARM, __ICCARM__, __GNUC__, __TASKING__

Does anyone know what they mean?

like image 727
Ishmeet Avatar asked Jul 10 '13 13:07

Ishmeet


1 Answers

These are different compilers for ARM processors, probably these macros are used to hide compiler-dependent stuff in code that's compilable by several compilers.

  • ICCARM --> IAR (there will also be a macro __IAR_SYSTEMS_ICC__ that is set to the compiler platform version
  • __IMAGECRAFT__ --> Imagecraft C (also see Clifford's comments below - there's also a macro __ICC_VERSION__, see the pdf documentation)
  • TASKING --> Tasking
  • __CC_ARM --> ARM's (RealView) compiler
  • __GNUC__ --> gcc
like image 148
fvu Avatar answered Nov 15 '22 14:11

fvu