Lesson 16 - Compilation in C and C++ - continued
In the last lesson, Compilation in C and C++, we talked about preproccessing and compiling into object files.
In today's work, we'll look at linking and talk about why C uses header and implementation files.
Linking
When compiling to object files, we said that the compiler doesn't know if the function call exists and where it is. The use of the correct addresses in memory is solved by the linker. There are no longer any function names in the final executable file. The function starts at some address in the memory (offset), from which the instructions start executing until the processor encounters the ret instruction. It takes the last record in the stack and returns to the memory location specified by the retrieved value - as we saw in the previous episode. As a reminder, I am once again attaching the source files from the last lesson.
...End of the preview...
Continue further
You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.
Buy this course
This article is licensed: Premium, by buying this article, you agree with the terms of use.
- Unlimited and permanent access to individual lessons.
- High quality IT knowledge.
- Skills to help you get your dream and well-paid job.
Article description
Requested article covers this content:
We will take a closer look at the step-by-step compilation process - linking.
You gain credits by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.