Sto lavorando su una macchina virtuale che mi piacerebbe essere in grado di interfacciare con C. Andare dall'altra parte ed esporre le funzioni della macchina virtuale al codice C è abbastanza facile, quello che non riesco a spiegare è C funzioni su una macchina virtuale.Come posso esporre le funzioni C a una macchina virtuale personalizzata?
mi piacerebbe essere in grado di registrare dinamicamente funzioni C con la macchina virtuale in questo modo:
vm_register(printf);
Poi nella mia macchina virtuale, spingere gli argomenti alla pila, e:
call printf
Il problema è che senza sapere quanti argomenti richiede la funzione e di quale tipo, non sono sicuro che possano essere usati i puntatori di funzione.
Esiste un tipo di puntatore di funzione generico che può essere utilizzato in questa situazione? Qualcuno può guidarmi nella giusta direzione?
Personalizzato V.M. Idea interessante Esponendo le funzioni, intendi chiamare un D.L.L./Funzione Shared Object/Shared Library o da una libreria "* .h"? – umlcat