Differenze tra le versioni di "Scrivere una libreria esterna che ritorna una Struttura"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Di seguito è mostrato un esempio, nel quale la funzione esterna della libreria in C ritorna una ''Struttura''. Codice C: struct nome_struttura {</font> int a; char *...')
 
Riga 3: Riga 3:
  
 
Codice C:
 
Codice C:
  struct nome_struttura {</font>
+
  struct nome_struttura {
 
   int a;
 
   int a;
 
   char *b;
 
   char *b;
Riga 13: Riga 13:
 
  struct nome_struttura *prova() {
 
  struct nome_struttura *prova() {
 
   
 
   
     variabile_struttura.a = 99;
+
     variabile_struttura.a = 99;   <FONT color=blue>// Assegna i valori ai membri della Struttura</font>
 
     variabile_struttura.b = "prova";
 
     variabile_struttura.b = "prova";
 
   
 
   

Versione delle 03:30, 11 mar 2014

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