Re: Problem programistyczny

Autor: Lech Wiktor Piotrowski (lewhoo_at_teamos2.org.pl)
Data: Tue 29 Jan 2002 - 22:15:52 MET


On Tue, 29 Jan 2002 22:00:35 +0100 (MET), Wojciech Gazda wrote:

>Lech Wiktor Piotrowski napisa (a):
>>
>> OK, zdecydowalem sie opisac swoj problem w calosci, bo juz 2 dzien z tym walcze
:(
>>
>> w katalogu glownym mam pliki .o, ktore po skompilwoaniu daja merc.exe
>> w katalogu modules mam pliki .o, z ktorych kazdy ma byc kompilowany do dlla (.so,
>> ale co za roznica), z ktorego bedzie korzystal merc.exe.
>>
>> W linuxie linkuje sie to z opcja -exports-dynamic, nie trzeba definiowac eksportow, a
>> trzeba dodac, ze dlle z katalogu modules potrzebuja funkcji z merc.exe.
>>
>> MAm wiec pytanie - jak skutecznie skompilowac merc.exe i dlle w podkatalogu,
zeby
>> te dlle widzialy funkcje z merc.exe? Bo sie kompletnie juz pogubilem...
>
>Na pierwszy rzut oka, w OS/2 nie da siŕ... Najmniej mŕczenia a i
>przenoÂnoŠ zachowa siŕ, gdy wspˇlne funkcje *.exe, z ktˇrych ma
>korzystaŠ *.dll wyci gnie siŕ do osobnego *.dll-a. Wtedy ten "wspˇlny"
>dll bŕdzie adowany i przez *.exe, i przez *.dll "ktˇry potrzebuje
>funkcji z merc.exe".
>

uhm, to cholernie duzo roboty - musze wglebic sie w caly kod, zeby odseparowac
wszystkie wspolne funkcje od samego runtime... prawie niewykonalne :(

>Mo e Linux-y potrafi robiŠ takie "krzy owe" linkowanie, ale moim
>zdaniem jest to bardzo nieeleganckie...
>

linkowanie jest proste - tzn. podczas tworzenia .so informuje sie go, ze to, czego nie ma
(importy) ma po prostu gdzies indziej (bez specyfikacji gdzie, prawdopodobnie w
programie, ktory bedzie z neigo korzystal). W ten sposob robi sie dlla bez zadnych
exportow i importow, a exek moze po prostu z niego korzystac, a dll sam z siebie
korzysta z funkcji exeka... W sumie mi sie to wydaje bardzo eleganckie

---------------------------------------------------------------------------------------------------
Lech Wiktor Piotrowski | ICQ#: 50746253 | lewhoo_at_teamos2.org.pl
TeamOS/2 Poland Webmaster - http://www.teamos2.org.pl
Inne systemy maja uzytkownikow, OS/2 ma wyznawcow
This OS/2 system uptime is 0d 12h 49m 02s 449ms (en).
Emergency mail: lwpiotr_at_tempac.fuw.edu.pl; lewhoo_at_dione.ids.pl
---------------------------------------------------------------------------------------------------



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:36:46 MET DST