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