3/30 In a /lib /usr/lib directory what's the diff between a lib*.a and
a lib*.so file?
\_ .a is "archive" and produces static (compile-time) linking, while
.so is "shared object" and produces dynamic (run-time) linking.
\_ so what the heck is "linking"?
\_ man ld
\_ well, if you're a DOS weenie, a .so file is like a .DLL file
in short: .a files are things that get added to your program
when you compile it; people don't need them to run the
executable, but it's huge. .so files get "added" (linked)
when a person runs the program, so they need to have copies
of them, but the executable is smaller. generally .so
(shared libraries) are better because then 100 programs on
your machine can use one library without (essentially) having
100 copies of the library present in every executable -dbushong |