All mock tests are FREE till 31 December — register to save your progress

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