views:

397

answers:

1

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

+2  A: 

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!)

Wayne