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
Are there any problems that the cpu faces? Have any measures been taken to make it more efficient?
Given a Pid, how will you distinguish whether it is a process or a thread?
How are server systems classified?
Define scheduling in OS.
What is bounded-buffer problem?
What do you mean by a semaphore?
What is sock_seqpacket?
what is the command to copy windows files (i386) without formatting OS?
How does swapping result in better memory management?
What is difference between deadlock and starvation?
How do I empty my mac cache?
What is monolithic kernel?
Why do I have x86 program file?
Will my laptop run faster with more ram?
Does direct memory manipulation is an unsafe operations, if yes, how?