Consider a program P that consists of two source modules M1 and M2 contained in two different files. If M1 contains a reference to a function defined in M2, the reference will be resolved at
Static linking is done at link-time, dynamic linking or shared libraries are brought in only at runtime.
(A) Edit-time : Function references can never be given/determined at edit-time or code-writing time. Function references are different from function names. Function names are used at edit-time and function references are determined at linker-time for static libraries or at runtime for dynamic libraries.
(B) Compile-time : Compile time binding is done for functions present in the same file or module.
(C) Link-time : Link time binding is done in the linker stage, where functions present in separate files or modules are referenced in the executable.
(D) Load-time : Function referencing is not done at load-time.
Hence, correct answer would be (C).
This solution is contributed by Vineet Purswani.
Quiz of this Question