Compilation and Execution Process of C Programs

This section describes steps of the compilation and execution process of C programs: preprocessing, compilation, assembly, linking and loading.

The compilation and execution process of C can be divided in to multiple steps:

Here is a simple table showing input and output of each step in the compilation and execution process:

Input                  Program        Output

source code          > Preprocessor > expanded source code
expanded source code > Compiler     > assembly source code
assembly code        > Assembler    > object code
object code          > Linker       > executable code
executable code      > Loader       > execution

Here are examples of commonly used programs for different compilation and execution steps on a Linux system:

Table of Contents

 About This Book

 1957 - FORTRAN Language Developed by IBM

 1970 - UNIX Operating System Developed by AT&T Bell Labs

 1971 - FTP Protocol Created by Abhay Bhushan

1972 - C Language Developed by Dennis Ritchie

 What Is C Language?

 TCC - Tiny C Compiler

Compilation and Execution Process of C Programs

 GNU C Compiler

 Sample C Program for Arrays and Pointers

 Sample C Program for Dynamic Memory Allocation - malloc()

 1976 - vi Text Editor Developed by Bill Joy

 1977 - Apple II Designed by Steve Jobs and Steve Wozniak

 1977 - The Bourne Shell Developed by Stephen Bourne

 1978 - The C Shell Developed by Bill Joy

 1978 - Bash (Bourne-Again Shell) Developed by Brian Fox

 1979 - The Tcsh (TENEX C Shell) Developed by Ken Greer

 1983 - "Sendmail" Mail Transfer Agent Developed by Eric Allman

 1984 - Macintosh Developed by Apple Inc.

 1984 - X Window System Developed a MIT Team

 1991 - WWW (World Wide Web) Developed by Tim Berners-Lee

 1991 - Gopher Protocol Created by a University of Minnesota Team

 1995 - Java Language Developed by Sun Microsystems

 1995 - PHP: Hypertext Preprocessor Created by Rasmus Lerdorf

 2002 - .NET Framework Developed by Microsoft

 References

 PDF Printing Version