[CMake] Programs linked to .a or .so libraries?

Philip Lowman philip at yhbt.com
Tue Aug 28 08:54:27 EDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hendrik Sattler wrote:
> Am Dienstag 28 August 2007 12:31 schrieb Convey Christian J NPRI:
>> Thanks for the info.  What a strange feature for CMake to lack!  Does
>> anyone know why this hasn't been implemented?
> 
> OTOH, did you ask yourself why you actually want static linking? Sure, your 
> program will run that way but only with increased memory usage and load time. 
> It's not a good thing to do (that's what APIs and ABIs are for).
> If the linker on a system prefers dynamic linking, why do you want to override 
> it?

I've never read that shared libraries are faster than static
executables.  One would think that, if anything, all of the hoops the OS
has to run through to map all of the symbols would cause applications
that use shared libraries to be slower to startup then statically built
executables.

As for system memory, a static executable will only use more system
memory if it's using code that other programs are also using at the same
time (libgtk, libxml, etc.).  In that case (and that case only) you
would have multiple programs loading the same symbols into memory and
thus would be wasting system memory.

- --
Philip Lowman
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG1BsDe0tOktX6RKkRAsxiAJwJ/6wnQ/QNmBRewX/um8OqJ1SPxACffc0x
kGoD+1AMi0rHhw/C411B4WI=
=xhwl
-----END PGP SIGNATURE-----


More information about the CMake mailing list