Question

Like the title says, what is the difference between a "program object file" (.o extension) and a "library file" (.so extension)

Was it helpful?

Solution

Well, its been a while so forgive me if I am totally wrong but it would essentially mean that the code inside the .so can be relocatable.

The .so is essentially a DLL that can be used by many applications but only loaded once into memory. The .o has to be linked into an application to have the code functionality made available.

This is called static linking (.o) vs dynamic linking (.so)

See: IBM Developer Works or Uni of Calgary or IECC for further information

Hope this answers your questions (and I hope my explaination is correct!)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top