blueroomelectronics said:
Stupid question but is C18 a C, ANSI C or C++ based compiler?
I don't think it's a stupid question; I hope my answer isn't stupid.
I believe it is based on gcc, which is (at least very close to) ANSI C, and it is C, not C++.
C++ is an object oriented language, which is, I believe, a natural progression of using structs in C. (anyone care to jump in on this one?)
All of the various compilers make claims they are 'ANSI C compliant,' even CCS, which relies on its own, very obfuscated, unaccessible to the user, routines.
The value in a compiler which complies closely with the standard, is that the code will be very easy to port from one compiler to another. Still, when you try to compile code written in C18, on say HiTech, or SourceBoost, you have tons of changes to make.
There is also the argument that code which compiles with a standard, is more portable between architectures. Perhaps some have achieved this within a microcontroller family, however because of the differences in chip architecture, there is no code which can easily be ported from one to another (PIC C to AVR C. or ...)