Ok, questa è una domanda molto interessante e potrebbe non esserci un modo semplice per farlo, ma ho pensato di buttarla lì prima di decidere che la modifica di Perl è la mia risposta di fondo.Chiamare la funzione C da Perl all'interno dell'applicazione C incorporata
Quindi ho un'applicazione C che chiama gli script Perl in modo incorporato. Tutto questo funziona bene e dandy ed è fantastico che io possa passare informazioni e ottenere informazioni indietro. TUTTAVIA, ora alla mia prossima conquista; Devo consentire al mio script incorporato di essere in grado di chiamare alcune funzioni all'interno dell'applicazione C che ORIGINALMENTE CHIAMATO.
Questo è importante perché XSUB richiederebbe che fosse una libreria esterna; ma non voglio che sia una libreria esterna, voglio che sia una chiamata diretta alle funzioni C. Ora forse questo può essere fatto tramite XSUB e ho appena letto e capito male.
Application -(run)-> Perl
Application <-(function_x())- Perl
Application -(returnfunction_x)-> Perl
La ragione per cui questo non può essere una libreria esterna è perché sto facendo riferimento ai dati che si crea solo/memorizzati all'interno dell'applicazione.
Il modo per farlo in Python è quello di creare una funzione FFI in C e quindi aggiungere al dizionario di un modulo virtuale che le importazioni di script Python. Non sono sicuro che sia fatto allo stesso modo in Perl. –