CITS2002 Systems Programming
← prev 3 next → CITS2002 CITS2002 schedule
Compiling and linking our C programs
C programs are human-readable text files, that we term source-code files.
This makes them very easy to copy, read, and edit on different computers and different operating systems.
C is often described as being portable at the source-code level.
Before we can run (execute) our C programs, we must translate, or compile, their source-code files to files that the operating
system can better manage.
A program known as a compiler translates (compiles) source-code files into object-code files.
Finally, we translate or link one or more object-code files to produce an executable program, often termed a 'binary', an
'executable', or an 'exe' file.
A program known as a linker performs this translation, also linking our object-code file(s) with standard libraries and (optionally)
3rd-party libraries.
Depending on how we invoke the compiler, sometimes we can 'move' straight from the source-code files to the executable
program, all in one step.
In reality the compiler is 'silently' executing the linker program for us, and then removing any unwanted object-files.
CITS2002 Systems Programming, Lecture 2, p3, 26th July 2022.