官术网_书友最值得收藏!

  • Extreme C
  • Kamran Amini
  • 275字
  • 2021-03-26 16:15:41

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 static library files and the fact that they are just archive files that contain a number of relocatable object files.
  • Shared object files (dynamic libraries) were discussed and we demonstrated how they can be made out of a number of relocatable object files.
  • We explained what position-independent code is and why the relocatable object files participating in the creation of a shared library must be position-independent.

In the following chapter, we will go through the memory structure of a process; another key topic in C/C++ programming. The various memory segments will be described as part of the next chapter and we'll see how we can write code that has no memory issues in it.

主站蜘蛛池模板: 神池县| 曲松县| 夹江县| 景泰县| 永嘉县| 淮北市| 涿鹿县| 蒙山县| 广水市| 邯郸市| 日土县| 抚松县| 伊通| 德江县| 波密县| 兴化市| 康马县| 奈曼旗| 宝鸡市| 府谷县| 奉新县| 贡觉县| 靖江市| 政和县| 准格尔旗| 广南县| 莒南县| 富平县| 精河县| 福海县| 阿合奇县| 长泰县| 富顺县| 和静县| 吐鲁番市| 蒙城县| 奇台县| 泌阳县| 志丹县| 浦北县| 拉萨市|