Dynamicke knihovny
David Sauer
davids na iol.cz
Pátek Leden 22 03:50:03 CET 1999
>>>> "Vojta" == Vojta Filip <vojta na kolej.mff.cuni.cz> píše:
Vojta> Dobry vecer,
Vojta> zkousel jsem vytvaret dynamicke knihovny (.so) a pouzivat je ve svem
Vojta> programu. V nejakme manu jsem se docetl, ze aby pri natahovani knihovny
Vojta> bylo mozno resolvovat globalni symboly, ma se pri kompilaci programu
Vojta> pouzit -rdynamic. Vse krasne funguje, jenom jsem nikde nedokazal najit,
Vojta> co vlastne presne -rdynamic znamena a dela. V manu, v infu, nikde ani
Vojta> zminka. Nevite o nejakych manualech ke gcc, kde by toto (a vubec
Vojta> dynamicke knihovny) bylo nejak lepe popsano?
Vojta> Vojta
-rdynamic znamena pro linker --export-dynamic:(zdroj "info ld")
`-E'
`--export-dynamic'
When creating a dynamically linked executable, add all symbols to
the dynamic symbol table. The dynamic symbol table is the set of
symbols which are visible from dynamic objects at run time.
If you do not use this option, the dynamic symbol table will
normally contain only those symbols which are referenced by some
dynamic object mentioned in the link.
If you use `dlopen' to load a dynamic object which needs to refer
back to the symbols defined by the program, rather than some other
dynamic object, then you will probably need to use this option when
linking the program itself.
Je to vidět např. v binárce egcs (strings /usr/bin/egcs), ale lépe by asi
bylo použít zdrojáky ...
Jinak základ jak vytvářet .so je v ELF-HOWTO, použitelné přepínače v
info dokumentaci pro gcc a ld.
--
* David Sauer, student of Czech Technical University
* electronic mail: davids na iol.cz (mime compatible)
Další informace o konferenci Linux