Multipiattaforma: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 185.51.138.35 (discussione), riportata alla versione precedente di Pil56-bot
m corretta la frase accesso all'hardware
Riga 5:
Molti linguaggi informatici ad [[linguaggio di programmazione ad alto livello|alto livello]] sono per loro stessa natura multipiattaforma, poiché sono definiti per una macchina astratta (cfr. la macchina astratta C, la [[macchina virtuale]] del Java e di altri linguaggi).
 
Tuttavia, per numerosi compiti, è necessario che il programma faccia riferimento a delle [[Application programming interface|API]] che sono diverse sui diversi [[sistema operativo|sistemi operativi]] (gestione delle finestre, accesso alloall' ''[[hardware]]'', funzioni per il ''[[multithreading]]'' ecc...). Ad esempio, sebbene il C++ di per sé sia multipiattaforma, un programma scritto per [[Microsoft Windows|Windows]] che usa le [[Application programming interface|API]] di [[Win32]], solitamente non riuscirà ad essere [[compilazione|compilato]] anche su un sistema [[Unix]], in quanto le API che rendono disponibili quelle stesse funzionalità su Unix sono scritte diversamente.
 
Una soluzione comune è quella di realizzare una API intermedia, implementata in una [[libreria (informatica)|libreria]] che sia a sua volta [[portabilità|portabile]], e quindi implementata in modo diverso per le diverse piattaforme (mantenendo invariata l'interfaccia). Il codice del programma viene ''[[linking|linkato]]'' a questa libreria. Un esempio tipico è quello delle [[Interfaccia grafica|interfacce grafiche]] ([[GUI]]).