Scrivere una libreria esterna che ritorna un Vettore di tipo char
Da Gambas-it.org - Wikipedia.
Versione del 11 mar 2014 alle 03:57 di Vuott (Discussione | contributi)
Di seguito è mostrato un esempio, nel quale la funzione esterna della libreria in C ritorna un Vettore di tipo "char".
Codice della libreria esterna in C:
char a[4]; char *prova() { a[0] = 'p'; // assegna un carattere per ciascun elemento del vettore di tipo "chr" a[1] = 'e'; a[2] = 'r'; a[3] = 'a'; return a; // ritorna l'indirizzo del vettore "a" }
Codice Gambas: Se la libreria esterna in C ritorna un vettore di tipo "char", allora in Gambas esso verrà recuperato e rappresentato da una variabile di tipo Puntatore, che andrà poi dereferenziato al fine di recuperare i valori passati.
Library "/tmp/libprovaC" Private Extern prova() As Pointer Public Sub Main() Dim p As Pointer Shell "gcc -o /tmp/libprovaC.so " & Application.Path & "/libprovaC.c -shared -fPIC" Wait p = prova() Print string@(p) End