Machine-translated by Google. Questions are authored in English.
Top

Discussion

The symbol table of a compiler differs from a run time symbol table used by a dynamic loader in that the compiler's table

  • A.is smaller, holding only the names the module actually exports
  • B.exists only after the program has begun executing
  • C.is written by the linker rather than by the compiler
  • D.holds every declared name including those local to procedures

Answer: D

Correct answer: holds every declared name including those local to procedures

A compiler needs every name in order to translate the code, including locals that exist only within one procedure. A dynamic loader needs only the names visible between modules - the exported and imported ones - so its table is far smaller and is built from what the compiler chose to emit.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.