Foreign function interface: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
creata pagina |
Fix wikilink che punta alla voce errata |
||
(9 versioni intermedie di 8 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
==
Il
== Operazione ==
La
* 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.
* Utilizzo di uno strumento per "avvolgere" automaticamente le funzioni del linguaggio [[Ospitalità|ospite]] con il codice della colla appropriato, che esegue qualsiasi traduzione necessaria.
* Uso di librerie di [[wrapper]]
* Limitazione del set di funzionalità della
Le '''FFI''' possono essere complicate dalle seguenti considerazioni:
* Se una lingua supporta la [[garbage collection]] (
* Oggetti complicati o non [[Banalizzazione (filologia)|banali]] o tipi di dati possono essere difficili da mappare da un ambiente all'altro.
* 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]]
Riga 35:
* [[Chiamata di procedura remota]]
* [[Libffi]]
[[Categoria:Concetti di programmazione]]
|