I know that a .so file is a shared library file, similar to a dll file on Windows, but what about a .lo file?
.o object (contains compiled code) .lo library object (contains information for building a .so with `libtool`) .so shared object (indeed compareable to a DLL) .ko kernel object (usually kernel modules)
See http://www.delorie.com/gnu/docs/libtool/libtool_8.html