[#150]
Re: Aktualizacja AmigaOS 4
@norbert74111,
post #131
A gdzie to potwierdzili?
Odpowiem nie wprost. Zmuszenie bibliotek .so pod OS4 do wspoldzielenia kodu wymagalo by na tyle duzej rewolucji w podejsciu do zarzadzania pamiecia, ze na pewno by ten fakt oglosili (tym bardziej, ze Fiedenowie maja w zwyczaju chwalenie sie wszystkimi nowosciami, nawet tymi mniej istotnymi).
- łatwość tworzenia takich bibliotek
Amigowe biblioteki tez latwo sie tworzy.
- łatwość przenoszenia z unixa takich bibliotek
To jest jedyny sluszny argument, ale w takim wypadku wystarczylby kernel linuksa i X11. Zobacz
tutaj.
- automatyczne łączenie z obiektami w aplikacji i innych bibliotekach
To moze byc zarowno zaleta jak i wada, szczegolnie w amigowym swiatku. Automatyczne (dynamiczne) laczenie z innymi obiektami w trakcie uruchamiania programu powoduje, ze programy zwyczajnie startuja wolniej. Najpierw startuje tzw. Program Interpreter (ld-linux.so). Interpreter musi zaladowac niezbedne obiekty dynamiczne (w przypadku AmigaOS), i relokowac wszystkie niezbedne symbole (odwolania do symboli bedacych w innych obiektach dynamicznych). I skonczy sie wzdychanie do AmigaOS ("bo program laduje sie w 2 sekundy, a podobny program pod linuksem 10 sekund).... ;)
jak sobie pomysle biliotekach w C++ i o rekolowaniu symboli w stylu:
_ZN13QScriptEngine10newQObjectEP7QObjectNS_14ValueOwnershipERK6QFlagsINS_17QObjectWrapOptionEE
(biblioteka libQtScript.so.4.3.0), to mam bardzo mieszane uczucia ;)
Oczyscie mozna to zrobic lepiej. Mozna najpierw uczynic te obiekty dzielone naprawde dzielonymi (jesli nie, to trzeba bedzie amigowcom dokupic troche pamieci). Mozna poprawic kod korzystajac z atrybutu widocznosci symboli (linuksowe/uniksowe bibliteki zadko z tego korzystaja), mozna tez podejsc troche inaczej do sposobu linkowania i relokowania objektow wspoldzielonych (chocby tak jak jest to w windowsie i jego DLL-kach). Tyle, ze te wszystkie "mozna" oznaczaja modyfikowanie lub poprawianie zrodel, a wtedy jedyny w miare sensowny argument - "łatwość przenoszenia z unixa takich bibliotek" znika...
PS. Zarzadzanie wersjami w przypadku .so lezy i kwiczy...
O czyms zapomnialem?