Linkers are essential pieces of the software development process and allow programmers to separate out their code in meaninful ways. They also allow the use of programming libraries, code that has been generated to be used by other programs. The C Standard Library is an example of such a library, allowing standard C programs to link to its code to perform such operations as general input/output. If we did not have a linker in our compilation process we’d have to write all our programs as one giant monolithic file.
This isn’t THEE only memory map of every program everywhere, but it is generally the memory map for most programs most average programmers create, being imperative. In programming languages like assembly or C, you work with this map pretty directly, but in more abstract or higher-level languages such as Python or PHP, many of these memory issues and placements are taken care of for you by the interpreter or compiler.
In this article we cover the C programming language: where did it come from, how it relates to other languages, what can it do, what doesn’t it do, and the future of the language. C is a powerful language any aspiring programmer would benefit from learning and mastering. Even today, in embedded systems, C is very much employed, and in that personal respect, important to building my robot.
I came across this book in the Colorado State University library, one of my favorite places, and was intrigued. I was intrigued because it seemed that instead of relying on esoteric computational equations and such, talking about optimization, O notations, and such, this book instead took the approach of diving directly into straight implementation of a compiler and interpreter.