Scrivere una libreria esterna che ritorna una Struttura

Da Gambas-it.org - Wikipedia.

Di seguito è mostrato un esempio, nel quale la funzione esterna della libreria in C ritorna una Struttura.


Codice C:

struct nome_struttura {
  int a;
  char *b;
};

struct nome_struttura variabile_struttura;</font>


struct nome_struttura *prova() {

   variabile_struttura.a = 99;    // Assegna i valori ai membri della Struttura
   variabile_struttura.b = "prova";

   return &variabile_struttura;

}


Codice Gambas:

Public Struct Nome_Struttura
  a As Integer
  b As Pointer
End Struct


Library "/tmp/libprovaC"
Private Extern prova() As Nome_Struttura


Public Sub Main()

 Dim nst As New Nome_Struttura
 
  nst = prova()

  Print nst.a, String@(nst.b)

End