Multipiattaforma: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m r2.7.1) (Bot: Aggiungo: el:Ανεξάρτητο πλατφόρμας (λογισμικό) |
m alcuni link sistemati |
||
Riga 5:
Molti linguaggi informatici ad 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
Una soluzione comune è quella di realizzare una API intermedia, implementata in una [[libreria (informatica)|libreria]] che sia a sua volta 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]]).<br/>
Molti linguaggi offrono una piattaforma costituita da librerie comuni (''librerie standard''), che permettono una copertura maggiore o minore delle esigenze tipiche di un programma.
Un altro problema è dato dal fatto che un linguaggio può ''non specificare'' il comportamento di una certa sintassi; in questo caso, il comportamento effettivo dipende dalla implementazione specifica in uso a [[tempo di esecuzione]], e ciò rende possibile scrivere un programma il cui corretto funzionamento si fondi su uno di questi comportamenti specifici (con la conseguenza che il programma non risulta portabile).
Inoltre, per alcuni linguaggi, compilatori diversi rispettano in modo diverso o incompleto le [[
==Limiti e soluzioni==
Poiché fornire e [[
Molte [[Application programming interface|API]] sono specifiche per una singola piattaforma. Si può dire che le [[OpenGL]] siano invece multipiattaforma perché non sono legate a un particolare sistema operativo, architettura CPU o marca di hardware grafico. API legate a una sola piattaforma possono essere ricreate sugli altri sistemi creando un livello di compatibilità, come ad esempio le librerie [[WINE]], che consentono ai programmi che richiedono le librerie di [[Microsoft Windows|Windows]] di poter funzionare su UNIX.
|