ANSI Standard Issues
Divergence from the ANSI C Standard
The mikroC PRO for PIC32 diverges from the ANSI C standard in a few areas. Some of these modifications are improvements intended to facilitate PIC32 programming, while others are the result of PIC32 hardware limitations.
- Case Sensitivity. Check identifiers
- The mikroC PRO for PIC32 treats identifiers declared with the
const
qualifier as “true constants” (C++ style). This allows usingconst
objects in places where ANSI C expects a constant expression. If aiming at portability, use the traditional preprocessor defined constants. See Type Qualifiers and Constants. - The mikroC PRO for PIC32 allows C++ style single–line comments using two adjacent slashes (
//
). The comment can start at any position and extends until the next new line. See Comments. - A number of standard C libraries (ctype, math, stdlib, string) have been implemented; check the individual functions for divergence.
- The mikroC PRO for PIC32 does not provide automatic initialization for objects. Uninitialized globals and objects with static duration will take random values from memory.
- Anonymous unions and structures are now supported.
C Language Extensions
mikroC PRO for PIC32 has additional set of keywords that do not belong to the ANSI standard C language keywords:
Implementation-defined Behavior
Certain sections of the ANSI standard have implementation-defined behavior. This means that the exact behavior of some C code can vary from compiler to compiler. This Help contains the sections describing how the mikroC PRO for PIC32 compiler behaves in such situations.
The most notable specifics include:
Copyright (c) 2002-2012 mikroElektronika. All rights reserved.
What do you think about this topic ? Send us feedback!
What do you think about this topic ? Send us feedback!