avr-gcc implementiert GNU-C, eine Erweiterung von ANSI-C. Falls nur die Teilmenge ANSI-C akzeptiert werden soll, dann gibt es dafür Schalter, etwa die Option -ansi und er meckert, wenn man C++-Kommentare in C verwendet, mitten im Block Variablen definiert/deklariert, anonyme Structs verwendet, indirekte Labels verwenden willst, lokale Funktionen deklarierst...Zitat von Superhirn
malloc wird in der libc implementiert, ist jedoch nicht zu empfehlen wegen dem recht großen Overhead.
Du kannst alles verwenden wie aus C gewohnt: Arrays, Structs, Unions schachteln bis der Arzt kommt, Longjumps, Pointer auf Funktionen, Varargs, printf. Wie sinnvoll das ist, steht woanders...
Die libc und libstdc++ stellen jedoch nur einen Teil von ANSI zur Verfügung (Effizienzgründe).
Disclaimer: none. Sue me.
Lesezeichen