11.07.2015 Views

Imagecraft c compiler and development environment for the atmel avr

Imagecraft c compiler and development environment for the atmel avr

Imagecraft c compiler and development environment for the atmel avr

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ICCV8 <strong>for</strong> AVR – C Compiler <strong>for</strong> Atmel AVRBuild Options - CompilerStrict Checking - ANSI C evolves from <strong>the</strong> original K&R C. While <strong>the</strong> ANSI Cst<strong>and</strong>ard is a much tighter language than K&R C with more strict type checking,etc., it still allows certain operations that are potentially unsafe. If selected, <strong>the</strong><strong>compiler</strong> warns about declarations <strong>and</strong> casts of function types without prototypes,assignments between pointers to integers <strong>and</strong> pointers to enums, <strong>and</strong>conversions from pointers to smaller integral types. It also warns aboutunrecognized control lines, non-ANSI language extensions <strong>and</strong> source charactersin literals, unreferenced variables <strong>and</strong> static functions, <strong>and</strong> declaring arrays ofincomplete types.This option should normally be ON <strong>and</strong> all warnings should be studied to ensurethat <strong>the</strong>y are acceptable.ANSI C Portability Con<strong>for</strong>mance Checking - If selected, <strong>the</strong> <strong>compiler</strong> warnswhen your program exceeds some ANSI <strong>environment</strong>al limits, such as more than257 cases in switch statements, or more than 512 nesting levels, etc. This doesnot affect <strong>the</strong> operation of your program under our <strong>compiler</strong>s, but may causeproblems with o<strong>the</strong>r ANSI C <strong>compiler</strong>s.Treat const as __flash - For backward compatibility, interpret <strong>the</strong> constqualifier to refer to program memory, along with __flash.Accept Extensions - If selected, <strong>the</strong> <strong>compiler</strong> accepts <strong>the</strong> following extensions: C++ style comments, which treat everything up to <strong>the</strong> newline after <strong>the</strong> characterpair // as comments. support <strong>for</strong> binary constants (such as 0b10101). C++ style anonymous union <strong>and</strong> struct; e.g., you can writestruct {struct {int a;int b;};union {int c;int d;} x;<strong>and</strong> reference x.a, x.b, x.c <strong>and</strong> x.d58

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!