Jak działają aktualizację programów?

0

Jak działają aktualizację programów? Np. dodanie nowych funkcji ? Chodzi mi o takie zmiany które wymagają zmiany czegoś w kodzie zródłowym(c++).
Zazwyczaj nie trzeba pobierać całego programu od nowa aby mieć nową funkcje. Jak to jest zrobione? :)

2

Chodzi mi o takie zmiany które wymagają zmiany czegoś w kodzie zródłowym(c++).

C++ to nie jest język skryptowy, więc niczego nie można zmienić w kodzie źródłowym z prostej przyczyny - plik wykonywalny nie posiada kodu źródłowego, tylko kod wynikowy (maszynowy);

Zazwyczaj nie trzeba pobierać całego programu od nowa aby mieć nową funkcje. Jak to jest zrobione?

Jeśli zmiana ma obejmować plik wykonywalny aplikacji, to taki plik zostaje podmieniony; Nie wierzę, aby updater ręcznie przeszukiwał zawartość takiego pliku i dokonywał modyfikacji jego zawartości - to się po prostu nie opłaca, a poza tym trzeba by dokładnie znać różnice w obu plikach (obecnym i nowym), aby taką operację można było wykonać bezpiecznie;

Natomiast jeśli zmiany nie dotyczą pliku wykonywalnego, tylko np. biblioteki DLL, to też się ją podmienia; Poza tym aby z nowych funkcji w nowej wersji biblioteki dało się skorzystać - plik używający tej biblioteki także musi posiadać doimplementowane nowe funkcje;

Niektóre programy aktualizują jedynie swoje składniki, które nie mają związku z kodem pliku wykonywalnego; Jednak kod aplikacji napisany jest tak, aby był uniwersalny i aby mógł bez zmian korzystać ze zaktualizowanych składników; Jeżeli tego nie będzie umiał - trzeba zaktualizować także plik wykonywalny;

Jeśli więc korzystasz z jakiegokolwiek programu, który w jednej sesji potrafi się zaktualizować i od razu korzystać z nowych rzeczy, to zapewne zaktualizował same składniki; Natomiast jeżeli program na czas aktualizacji domaga się zamknięcia - najpewniej zostaje uruchomiony normalny instalator, który reinstaluje program, nie nadpisując ustawień użytkownika.

0

Dobra odpowiedź, dzięki. Możesz jeszcze nakreślić czym są pliki DLL? W jakim języku się je pisze?

1

Zobacz tutaj - wszystko jest opisane, ewentualnie przełącz sobie stronę na wersję polską, jeśli nie znasz angielskiego w wystarczającym stopniu; Ogólnie chodzi o współdzielenie zasobów, takich jak kod, ale także łańcuchów, ikon, kursorów, fontów, a nawet całych formularzy;

Natomiast pisze się je w różnych językach, np. C, C++, Delphi itd.; Jeśli napiszesz sobie w C np. funkcję i wrzucisz ją do biblioteki, to ja pisząc program we Free Pascalu mogę sobie ją (funkcję) zaimportować i jej użyć - wystarczy znać jej nazwę/id oraz ewentualnie kolejność i typy argumentów, aby dobrać do nich odpowiedniki z danego języka.

1 użytkowników online, w tym zalogowanych: 0, gości: 1