Consider the following statements about linker software: (I) A linker combines multiple object (relocatable) modules into a single load module. (II) A linker replaces absolute references in a program with symbolic references. Which of the above statement(s) is/are correct?
Pick an option to check yourself, or open the answer below.
Show answer & explanation
Correct answer: A. Only I
Explanation
Combining several separately compiled/assembled object modules into one executable load module — while resolving references between them — is exactly the core job of a linker, so statement I is true. Statement II has the direction backwards: a linker's symbol-resolution step replaces symbolic references (names of external functions/variables) with their absolute memory addresses, not the other way around, so statement II is false. Hence only statement I is correct, option (i).More Software Engineering questions
- A distributed operating system typically consists of:
- Which of the following statements about UNIX signals is NOT correct?
- A null remote procedure call (RPC) (carrying 0 data bytes) takes 1.0 msec, with an additional 1.5 msec for every 1K of data carried. How lo…
- What is the function of the following UNIX command? wc -l a > b &
- Which of the following statements about the cron daemon in a UNIX operating system is NOT correct?
- In UNIX, which single command creates the directory "PIS" together with its two subdirectories "progs" and "data" (i.e. PIS/progs and PIS/d…