Binär kompatibilitet , binär kompatibilitet ( engelsk binär kompatibilitet ) - en typ av programvarukompatibilitet som gör att programmet kan arbeta i olika miljöer utan att ändra dess körbara filer .
Denna term används ofta i betydelsen " operativsystemkompatibilitet ", och betyder i detta fall förmågan hos en redan kompilerad version av ett program för ett operativsystem att fungera på ett annat operativsystem utan omkompilering . Till exempel kan nästan alla program skrivna för Windows 2000 köras på Windows XP , vilket betyder att Windows 2000 och Windows XP är binärt (binärt) kompatibla.
Binär kompatibilitet inkluderar byte-för-byte-kompatibilitet för belastningsfält, fullständig identitet för mekanismen för att anropa funktioner, skicka variabler och ta emot beräkningsresultat och fullständig implementering av programmeringsgränssnittet . Samtidigt kan implementeringen tekniskt sett vara helt annorlunda - huvudsaken är att alla utlysningar implementeras och att de leder till det förväntade resultatet, och hur detta resultat uppnås bestäms av programmets skapare.
Brytandet av binär kompatibilitet innebär att stödet för program upphör och det obligatoriska kravet på omkompilering och eventuella korrigeringar i programmet för att det ska fungera. Till exempel, efter att Apple började använda Intel-processorer i sina datorer , bröts binär kompatibilitet med alla applikationer skrivna för PowerPC- processorer . För att inte tappa alla mjukvaruprodukter som utvecklats tidigare för Mac OS- operativsystemet använder Apple den lätta Rosetta-översättaren, som översätter Mac OS-operativsystemanrop för PowerPC till Mac OS-anrop för Intel. Detta exempel visar också en möjlig metod för att hantera trasig binär kompatibilitet.
Solaris 10 för x86 har förmågan att köra Linux- applikationer utan omkompilering med BrandZ . Det finns ingen sådan möjlighet på SPARC- plattformen.