Is my understanding of using a character table and relocation table correct?

I currently have difficulty understanding the layout / loading concept.

Could you say whether the following instructions for using symbol tables and movement are correct?

  • In the moved object file, the symbol table must contain entries for variables and functions that are accessed / called from other object files. A list of variables and functions that are not used outside the object file is optional.
    • This means that if a program consists of only one object file, the symbol table can be omitted.
  • In the moved object file, the movement table contains the addresses of all places of the collected code that need to be updated at boot time.
  • In an object with a non-moving object, the transfer table may be omitted. However, then the object must be loaded into the address space, which is hardcoded in the instructions.

Thank you for your time!

+4
source share
1 answer
  • The first part is required (only externelements are required ). However, the consequence of programs consisting of one object file is not entirely true: at least one character must be accessible for external use, namely, the entry point (function of mainthe C program) must be visible.
  • address , , . , , , , .
  • . .
+4

All Articles