what is Linker?

Answer Posted / niranjanamurthy

Linking is the process of combining various pieces of code
and data together to form a single executable that can be
loaded in memory. Linking can be done at compile time, at
load time (by loaders) and also at run time (by application
programs). The process of linking dates back to late 1940s,
when it was done manually. Now, we have linkers that support
complex features, such as dynamically linked shared
libraries. This article is a succinct discussion of all
aspects of linking, ranging from relocation and symbol
resolution to supporting position-independent shared
libraries. To keep things simple and understandable, I
target all my discussions to ELF (executable and linking
format) executables on the x86 architecture (Linux) and use
the GNU compiler (GCC) and linker (ld). However, the basic
concepts of linking remain the same, regardless of the
operating system, processor architecture or object file
format being used.

Is This Answer Correct ?    15 Yes 2 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Are there any problems that the cpu faces? Have any measures been taken to make it more efficient?

742


Given a Pid, how will you distinguish whether it is a process or a thread?

600


How are server systems classified?

775


Define scheduling in OS.

668


What is bounded-buffer problem?

701






What do you mean by a semaphore?

646


What is sock_seqpacket?

615


what is the command to copy windows files (i386) without formatting OS?

1702


How does swapping result in better memory management?

804


What is difference between deadlock and starvation?

535


How do I empty my mac cache?

550


What is monolithic kernel?

666


Why do I have x86 program file?

511


Will my laptop run faster with more ram?

503


Does direct memory manipulation is an unsafe operations, if yes, how?

563