Differenze tra le versioni di "Scrivere una libreria esterna per verificare se una variabile di tipo stringa è nulla"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Se si vuole far verificare da una funzione di una libreria esterna, da noi scritta in C, se una variabile di tipo stringa è ''nulla'', potremo operare come segue: La librer...')
 
Riga 1: Riga 1:
 
Se si vuole far verificare da una funzione di una libreria esterna, da noi scritta in C, se una variabile di tipo stringa è ''nulla'', potremo operare come segue:
 
Se si vuole far verificare da una funzione di una libreria esterna, da noi scritta in C, se una variabile di tipo stringa è ''nulla'', potremo operare come segue:
 
+
  Private Extern verifica(testo As String) As Integer In "/tmp/libverifica"
 
 
La libreria esterna in C da noi appositamente scritta può essere:
 
  #include <stdio.h>
 
 
   
 
   
 
   
 
   
  int Verifica(char * s) {
+
  '''Public''' Sub Main()
 
   
 
   
  if (s == NULL) {
+
  Dim s As String
    return -1;
+
  Dim i As Integer
  }else{
+
    return 0;
+
  Creaso()
  }
+
 
 +
  i = verifica(s)
 +
  If i == -1 then Print "La variabile 's' è nulla !"
 
   
 
   
  }
+
  '''End'''
 
 
 
 
La parte principale in Gambas può essere:
 
Private Extern Verifica(testo As String) As Integer In "/tmp/lib_C"
 
 
   
 
   
 +
'''Private''' Procedure Creaso()  <FONT Color=gray>' ''La libreria esterna in C da noi appositamente scritta''</font>
 
   
 
   
  '''Public''' Sub Main()
+
  File.Save("/tmp/verifica.c", "#include <stdio.h>\n\n" &
 +
                              "int verifica(char * s) {\n\n" &
 +
                              " if (s == NULL) {\n" &
 +
                              "    return -1;\n" &
 +
                              "  }else{\n" &
 +
                              "    return 0;\n}\n\n}")
 
   
 
   
   Dim s As String
+
   Shell "gcc -o /tmp/libverifica.so /tmp/libverifica.c -shared -fPIC" Wait
  Dim i As Integer
 
 
 
  Shell "gcc -o /tmp/lib_C.so " & Application.Path &/ "lib_C.c -shared -fPIC" Wait
 
 
 
  i = Verifica(s)
 
  If i = -1 then Print "La variabile 's' è nulla !"
 
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione delle 20:24, 4 dic 2021

Se si vuole far verificare da una funzione di una libreria esterna, da noi scritta in C, se una variabile di tipo stringa è nulla, potremo operare come segue:

Private Extern verifica(testo As String) As Integer In "/tmp/libverifica"


Public Sub Main()

 Dim s As String
 Dim i As Integer

 Creaso()
 
 i = verifica(s)
 If i == -1 then Print "La variabile 's' è nulla !"

End

Private Procedure Creaso()   ' La libreria esterna in C da noi appositamente scritta

 File.Save("/tmp/verifica.c", "#include <stdio.h>\n\n" &
                              "int verifica(char * s) {\n\n" &
                              "  if (s == NULL) {\n" &
                              "    return -1;\n" &
                              "  }else{\n" &
                              "    return 0;\n}\n\n}")

 Shell "gcc -o /tmp/libverifica.so /tmp/libverifica.c -shared -fPIC" Wait

End