Summary
This chapter mainly talked about various types of object files, as products of a C/C++ project after building. As part of this chapter, we covered the following points:
- We discussed the API and ABI, along with their differences.
- We went through various object file formats and looked at a brief history of them. They all share the same ancestor, but they have changed in their specific paths to become what they are today.
- We talked about relocatable object files and their internal structure regarding ELF relocatable object files.
- We discussed executable object files and the differences between them and relocatable object files. We also took a look at an ELF executable object file.
- We showed static and dynamic symbol tables and how their content can be read using some command-line tools.
- We discussed static linking and dynamic linking and how various symbol tables are looked up in order to produce the final binary or execute a program.
- We discussed...