On Thu, 15 Aug 2002, Ray Olszewski wrote: > As I indicated in my message to Lawson, "static" is a tricky term, with an > assortment of context-dependent meanings. It is messy enough that you > should take what I write next with a grain of salt, since it is easy to get > mixed up here. > > Both .a and .so libraries get linked at runtime. .a linking was called > static, but not in the sense you mean (at least as best I can recall). In > that context, static meant that a dedicated copy of the needed library was > loaded into memory and used just with that process. The .so approach was an > improbvement on this runtime linking, loading just one copy of the library > memory into memory and sharing it among all the processes that need those > routines.
IIRC, it was possible but difficult to make a shared .a library: each shared library had to have the same dedicated address range in every address space. I don't think anybody does this any more. ELF (.so) libraries are relocatable at runtime. > But when the linker ld is used with the --static option, an actual copy of > any needed library function is incorporated into the executable, allowing > it to run standalone (without access to the .so libraries). > Exactly. Lawson ---oops--- ________________________________________________________________ GET INTERNET ACCESS FROM JUNO! Juno offers FREE or PREMIUM Internet access for less! Join Juno today! For your FREE software, visit: http://dl.www.juno.com/get/web/. - To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs
