Re: Vytváření knihoven so

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Pondělí Červenec 10 11:11:01 CEST 2000


On Sun, 9 Jul 2000, Ing. Miloslav Ponkrác wrote:

> Mám zkušenosti s programováním dynamických knihoven ve Windows, ale princip
> bude stejný.

Jak se to vezme.

> 1) Zde se musí v hlavičkovém souboru označit funkce, které budou tvořit
> rozhraní dynamické knihovny (člověk nemusí chtít mít v rozhraní dynamické
> knihovny všechny funkce, které jsou extern).

Toho pri dostatecne nove verzi binutils dosahne pomoci ld parametru
--version-script (na Solarisu -M). (Existuji jeste jine opsny, jako
--filter nebo --retain-symbols-file, ale ty jsem nikdy nepochopil
a --version-script je stejne nejlepsi.)

> 2) A také, i když nepovinně, se může v hlavičkovém souboru kompilátoru říci,
> která funkce naopak vstupuje z jiné dynamické knihovny. Linker to vyřeší i
> bez tohoto upozornění, ale pokud to kompilátor věděl, vyrobí efektivnější
> kód.

To je, myslim, naprosto zbytecne, protoze kompilator vyrobi vzdycky
stejny kod, akorat to nakonec linker bud slinkuje primo nebo pres PLT.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux