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...') |
|||
(Una versione intermedia di uno stesso utente non è mostrata) | |||
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" | |
− | |||
− | |||
− | |||
− | + | '''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() <FONT Color=gray>' ''La libreria esterna in C da noi appositamente scritta''</font> | ||
− | + | File.Save("/tmp/libverifica.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''' | '''End''' |
Versione attuale delle 18:31, 18 ago 2022
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/libverifica.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