Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between a .so and a .lo file?

I know a .so file is a shared library file similar to a .dll file in windows, but what about a .lo file?

like image 221
rock_buddy Avatar asked Aug 29 '13 10:08

rock_buddy


People also ask

What are .LO files?

The '.lo' file is a library object, which may be built into a shared library, and the '.o' file is a standard object file. The .lo file is the libtool object, which Libtool uses to determine what object file may be built into a shared library.

Is .so a shared library?

A shared library(. so) is a library that is linked but not embedded in the final executable, so will be loaded when the executable is launched and need to be present in the system where the executable is deployed.

What are .so files in Linux?

A file with the . SO file extension is a Shared Library file. They contain information that can be used by one or more programs to offload resources so that the application(s) calling the SO file doesn't have to actually provide the file.

What is difference between .O and so files?

so files used by an application must be available on the runtime system. Other systems (again typically Windows) use . dll (dynamic link library) for the same purpose. It is perhaps useful to understand that .o files are linked before object code in .


1 Answers

.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

like image 198
Cobra_Fast Avatar answered Sep 29 '22 05:09

Cobra_Fast