Difference between C and Embedded C

Key difference: C is a type of computer programming language. C was originally developed by Dennis Ritchie at AT&T Bell Labs between 1969 and 1973. It has a free-format program source code. C is a general-purpose programming language. Embedded C, on the other hand, is a set of language extensions for the C Programming language. It was released by the C Standards committee. Through the Embedded C extensions, the C Standards committee hoped to address the commonality issues that exist between C extensions for different embedded systems.

C is a type of computer programming language. C was originally developed by Dennis Ritchie at AT&T Bell Labs between 1969 and 1973. It has a free-format program source code. C is a general-purpose programming language that uses semicolon (;) as a statement terminator, as well as curly braces ({}) for grouping blocks of statements.  It has facilities for structured programming and its design provides constructs that can map efficiently to typical machine instructions.  It also allows lexical variable scope and recursion and has a static type system, which prevents many unintended operations.

C is one of the oldest currently used programming languages and is one of the most widely used programming languages. It has been constantly used in applications that had previously coded in assembly language. This includes the UNIX computer operating system.

C has directly or indirectly influenced a lot of the later programming languages, such as C#, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python, and Unix's C shell. Despite all these new languages, C still remains a popular programming language.

Embedded C, on the other hand, is a set of language extensions for the C Programming language. It was released by the C Standards committee. Through the Embedded C extensions, the C Standards committee hoped to address the commonality issues that exist between C extensions for different embedded systems.

Embedded C use most of the syntax and semantics of standard C, such as main() function, variable definition, datatype declaration, conditional statements (if, switch. case), loops (while, for), functions, arrays and strings, structures and union, bit operations, macros, unions, etc.

In order to support exotic features, the embedded C programming requires nonstandard extensions to the C language. These features include fixed-point arithmetic, multiple distinct memory banks, and basic I/O operations.

As, 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.

Image Courtesy: gointerviews.com, netmaxtech.com

Most Searched in Cars and Transportation Most Searched in Society and Culture
Most Searched in Computers and Internets Most Searched in Business and Finance
Alcatel One Touch Idol Ultra vs Samsung Galaxy S4
Soluble Fiber vs Insoluble Fiber
Vitrified Tiles vs Marble Tiles
BPO vs IPO

Comments

No you can't use C language...it's Embedded C for make live Microcontroller and to generate hex code of it. You can use assembly, too.

Can we use embedded c code instead of c

No, Embedded c is generally used when we are programming a microcontroller.

Add new comment

Plain text

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.