LD.SO(8) LD.SO(8)
NAME
ld.so/ld-linux.so - dynamic linker/loader
DESCRIPTION
ld.so loads the shared libraries needed by a program, prepares the pro‐
gram to run, and then runs it. Unless explicitly specified via the
-static option to ld during compilation, all Linux programs are incom‐
plete and require further linking at run time.
The necessary shared libraries needed by the program are searched for
in the following order
o Using the environment variable LD_LIBRARY_PATH
(LD_AOUT_LIBRARY_PATH for a.out programs). Except if the exe‐
cutable is a setuid/setgid binary, in which case it is ignored.
o From the cache file /etc/ld.so.cache which contains a compiled
list of candidate libraries previously found in the augmented
library path.
o In the default path /lib, and then /usr/lib.
动态链接,加载
(This library component is not itself a library. Instead, ld.so is an executable invoked by the ELF binary format loader to load the dynamically linked libraries into an application’s memory space.)
-------------------------------------------------------------------------------
LDD(1) LDD(1)
NAME
ldd - print shared library dependencies
-------------------------------------------------------------------------------
LD(1) GNU Development Tools LD(1)
NAME
ld - The GNU linker
SYNOPSIS
ld [options] objfile ...
DESCRIPTION
ld combines a number of object and archive files, relocates their data
and ties up symbol references. Usually the last step in compiling a
program is to run ld.
ld accepts Linker Command Language files written in a superset of
AT&T's Link Editor Command Language syntax, to provide explicit and
total control over the linking process.
链接器,编译最后一步:
ld other-command-line-options /tmp/a.o /tmp/b.o -o a.out
参考:
http://en.wikipedia.org/wiki/Linker_(computing)
Linkers and Loaders by Sandeep Grover
http://en.wikipedia.org/wiki/Loader_(computing)#cite_note-0