Binarna kompatibilnost i kompatibilnost na razini izvornog koda - GASERI


Razlikujemo dvije vrste kompatibilnosti aplikacija s bibliotekama:



Onion Details



Page Clicks: 1

First Seen: 03/15/2024

Last Indexed: 10/23/2024

Domain Index Total: 397



Onion Content



Preskoči na sadržaj Binarna kompatibilnost i kompatibilnost na razini izvornog koda Razlikujemo dvije vrste kompatibilnosti aplikacija s bibliotekama: kompatibilnost na razini izvornog koda (engl. source code compatibility ) binarna kompatibilnost (engl. binary compatibility ). Kompatibilnost na razini izvornog koda tiče se aplikacijskog programskog sučelja koje biblioteka pruža i koje aplikacija koristi. Ukoliko pretpostavimo biblioteku s postojećim sučeljem, neki od načina za lomljenje API kompatibilnosti su: uklanjanje određene funkcije, promjena potpisa određene funkcije promjenom broja ili tipa parametera, promjena poretka članova strukture ili klase. Zadatak Razmotrite biblioteku koja ima API void set_value1 ( int * num ); void set_value2 ( int * num ); te program koji ju koristi. Promijenite prvu funkciju da ima argument tipa double* , a drugoj funkciji dodajte argument tipa float* te taj argument iskoristite unutar tijela na neki način. Prevedite biblioteku i njome zamijenite prvu varijantu, bez da ponovno prevodite program. Pokrenite program i uočite što se događa. Pokušajte ponovno prevesti program i povezati ga s bibliotekom. Objasnite zašto to možete ili ne možete učiniti. Binarna kompatibilnost Hint Za više detalja proučite Binary Compatibility Issues With C++ i Building Applications with the Linux Standard Base . Author: Vedran Miletić