Foreign function interface: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m fix
Fix wikilink che punta alla voce errata
 
(2 versioni intermedie di 2 utenti non mostrate)
Riga 1:
{{w|informatica|aprile 2018}}
Una '''FFI''' ( '''Foreign Function Interface''' ) è un [[meccanismo]] mediante il quale un [[programma (informatica)|programma]] scritto in un [[linguaggio di programmazione]] può chiamare [[routine (informatica)|routine]] o fare uso di servizi scritti in un altro.
 
== Etimologia del termine ==
Riga 6:
 
== Operazione ==
La funzione primaria di un'interfaccia di funzione straniera è quella di accoppiare la [[semantica]] e chiamare convenzioni di un [[linguaggio di programmazione]] (la lingua ''ospite'' o la lingua che definisce la '''FFI'''), con la [[semantica]] e le convenzioni di un'altra (la lingua ''ospite'' ). Questo processo deve anche prendere in considerazione gli [[Ambiente (biologia)|ambienti]] di [[Run-time|runtime]] e / o le [[Interfaccia binaria|interfacce binarie]] delle [[Applicazione (informatica)|applicazioni]] di entrambi. Questo può essere fatto in diversi modi:
 
* Richiedere che le funzioni in lingua ospite che devono essere chiamate in linguaggio host siano specificate o implementate in un modo particolare; spesso usando una libreria di compatibilità di qualche tipo.
Riga 19:
* Potrebbe non essere possibile per entrambe le lingue mantenere i riferimenti alla stessa istanza di un oggetto mutabile, a causa del problema di [[Mappatura UV|mappatura]] sopra riportato.
* Una o entrambe le lingue potrebbero essere in esecuzione su una [[macchina virtuale]] (VM); inoltre, se entrambe lo sono, queste saranno probabilmente [[Macchina virtuale|VM]] diverse.
* L'[[Ereditarietà genetica|ereditarietà]] [[cross-language]] e altre differenze, come tra sistemi di tipi o tra modelli di composizione di oggetti , possono essere particolarmente [[Difficile lectu|difficili]].
 
== Casi speciali ==