Static and Dynamic Libraries Libraries can be static (.a) or dynamic (.so) the .a suffix means "archive" such files are generated by "ar" it's a very simple format the archives are not bound to host executable files "tar" is similar: it is the "tape archive" the .so suffix means "shared object" the files are generated by "ld" (or the gcc frontend) the format is ELF, they are not generic archives Static libraries are easier to use Static libraries make debugging easier Dynamic libraries require less memory Using dynamic libraries in custom projects is not trivial