Hi -
.a files are "static libraries. You create them with "ar"; the binary code from these files is linked directly into your executable.
.so files are "shared libraries". You create them with "ld"; the executable merely contains a reference to the binary objects in the shared library. The library code itse;f isn't loaded until runtime, making the executable both smaller, and more flexible.
Both .a and .so libraries are very common: they're both used in just about every executable you'll build.
.la files, on the other hand, with the Gnu "libtool" package. They are somewhat less commonly used. You can read more about "libtool" - and the differences between .a, .so and .la files - here:
http://developer.gnome.org/doc/books...libraries.html
'Hope that helps .. PSM