Foreign function interface: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
+W |
Fix wikilink che punta alla voce errata |
||
(6 versioni intermedie di 5 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.
==
Il termine deriva dalla specifica di [[Common LISP|Common Lisp]]
== 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
* 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'
== Casi speciali ==
Ci sono alcuni casi speciali in cui le lingue vengono compilate nella stessa [[VM bytecode]], come [[Clojure]] e [[Java (linguaggio di programmazione)|Java]]
== Voci correlate ==
* [[Interoperabilità linguistica]]
* [[Transcompiler]]
|