Programovani - shared libraries na Linuxu
Stanislav Meduna
stanom na etm.at
Úterý Září 4 08:40:17 CEST 2001
Lubos Lunak schrieb in Nachricht <9n0rv7$30ut$1 na ns.felk.cvut.cz>...
> Zatimco na Unixech pouzivany ELF system nas dostava
>do novych casu, kdy primitivni programek slinkovany s hodne
>knihovnami zere kvanta pameti jen pro ty knihovny,
A to ako preco? Ak kod nikto nepotrebuje, v realnej pamati nebude
(az na tie stranky s odkazmi). Navyse ak su to kniznice, ktore
uz tak ci tak niekto pouziva, spotreba pamati sa nezvysi vobec.
Kolko chcu virtualnej pamati je mi vcelku jedno.
>nemluve o startovacim casu.
Ano, toto je na Linuxe trochu problem - akurat neviem ci je to
odstranitelny performance problem v dynamickom linkeri, alebo
dan za modularitu (spusta navzajom previazanych malych kniznic,
z ktorych ma potom linker hlavu v smutku).
To: povodny pisatel: nasiel som na sieti nasledovne:
=== snip ===
Actually what you want is a version script -- and they're remarkably
simple.
For example, if you wanted to make the functions `public1' and
`public2' public, with everything else private, you'd have:
your_library_version {
global:
public1; public2;
local:
*;
};
put the above in a file called, say `Versions' and add
`--version-script=Versions' to your link line.
You don't even have to name each of the functions literally --
as you can see above, you can use wildcards. Therefore if your
public functions have some prefix attached to them (often a good
idea anyway) ou can just use `prefix_*', for example.
=== snip ===
Bez zaruky, nikdy som neskusal.
Skuste dat do groups.google.com "dynamic library version-script".
Zdravi
--
Stano
Další informace o konferenci Linux