Hola!
La diferencia fundamental entre el C++ y el C es que el primero incluye instrucciones que te facilitan el trabajo con objetos.
Eso (y otras cosas mas) hacen que un compilador de C++ genere un código con mas "overhead" (es decir, mucho mas grande que si lo hicieras en assembler puro).
Un compilador de C "a secas" o ANSI C no soporta el uso de objetos y genera un código mas chico y utiliza también menos RAM del micro, que es un recurso bastante escaso.
El 99% de los compiladores que conozco para micros son ANSI C. El 1% restante es CodeWarrior para Motorola que tambien soporta C++.
Sin embargo, para el tipo de programa que cabe en un micro, te la podés arreglar lo suficientemente bien con ANSI C.
Saludos,
Ernesto.