what are dynamic libraries and static libraries in unix? what are .so and .a files? what is patch building and what for is it made? if anyone can throw some answer ( a little more illustrative) , I will be very grateful.
A library is a file containing several object files, that can be used as a single entity in a linking phase of a program. Normally the library is indexed, so it is easy to find symbols (functions, variables and so on...) in them. For this reason, linking a program whose object files are ordered in libraries is faster than linking a program whose object files are separate on the disk. Also, when using a library, we have fewer files to look for and open, which even further speeds up linking.
Static libraries are just collections of object files that are linked into the program during the linking phase of compilation, and are not relevant during runtime.
Static libraries are commonly named libname.a. The .a suffix refers to <b>a</b>rchive
dynamic libraries (also called Shared libraries) are lbrararies in which modules can be bound into the executable program at runtime. when the program is started, a program in the system (called a dynamic loader) checks out which shared libraries were linked with the program, loads them to memory, and attaches them to the copy of the program in memory.
Dynamic libraries are commonly named libname.so. The .so suffix refers to <b>s</b>hared <b>o</b>bject.
Nice answer. U have written so nicely. Thanks.
Will you tell me some links/ books to read a little more details. and also I want to know about patch.