What is the difference between C and embedded C?
In the C standard, a standalone implementation doesn't have to provide all of the library functions that a hosted implementation has to provide. The C standard doesn't care about embedded, but vendors of embedded systems usually provide standalone implementations with whatever amount of libraries they're willing to provide.
C is a widely used general purpose high level programming language mainly intended for system programming.
Embedded C is an extension to C programming language that provides support for developing efficient programs for embedded devices.It is not a part of the C language
You can also refer to the articles below:
- Difference between C and Embedded C
- Embedded C
- ISO/IEC J TC1 SC22 WG14 N1169
Embedded C is generally an extension of the C language, they are more or less similar. However, some differences do exist, such as:
C is generally used for desktop computers, while embedded C is for microcontroller based applications.
C can use the resources of a desktop PC like memory, OS, etc. While, embedded C has to use with the limited resources, such as RAM, ROM, I/Os on an embedded processor.
Embedded C includes extra features over C, such as fixed point types, multiple memory areas, and I/O register mapping.
Compilers for C (ANSI C) typically generate OS dependant executables. Embedded C requires compilers to create files to be downloaded to the microcontrollers/microprocessors where it needs to run.
Refer difference between C and embedded C
Basically, there isn't one. Embedded refers to the hosting computer / microcontroller, not the language. The embeddded system might have fewer resources and interfaces for the programmer to play with, and hence C will be used differently, but it is still the same ISO defined language.