Rabbit Semiconductor

Dynamic C, a product of Rabbit Semiconductor, has additions, deletions and inconsistencies compared to the ANSI-C standard.

For this reason, practical compilers intended for embedded systems do not completely comply with the standard, but use it as a guide.

As an example of a deletion, as of version 10.23 Dynamic C does not support block scope variables or bit fields.

The development toolchain does not include a separate preprocessor and linker, which may complicate the process of porting existing programs to the compiler.

As an example of an inconsistency, Dynamic C implicitly treats all initialized global variables as if they were declared with the const qualifier.

As of the latest version of Dynamic C, the compiler will produce an error when the user attempts to modify a const variable directly, and will produce a warning if the user discards the const qualifier when passing a parameter to a function.

One noteworthy feature of Dynamic C is its inclusion of language constructs to simplify multitasking.