title: What is the difference between .o, .a, and .so files?
body: <p>I know <code>.o</code> are object files, <code>.a</code> are static libraries and <code>.so</code> are dynamic libraries? What is their physical significance? When can I use some and when not?</p>