Differenze tra le versioni di "Raise()"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'La funzione della libreria di C int raise(int sig); è una chiamata di sistema che invia un segnale al processo in esecuzione (cioè al programma contenente tale funzione nel...') |
|||
Riga 7: | Riga 7: | ||
<BR>Dunque avremo ad esempio: | <BR>Dunque avremo ad esempio: | ||
Private <FONT color=#B22222>Extern raise_C</font>(command As String) As Integer In "<FONT color=#B22222>libc:6"</font> <FONT color=#B22222>'''Exec "raise"'''</font> | Private <FONT color=#B22222>Extern raise_C</font>(command As String) As Integer In "<FONT color=#B22222>libc:6"</font> <FONT color=#B22222>'''Exec "raise"'''</font> | ||
− | |||
− | |||
Semplice esempio di uso in Gambas: | Semplice esempio di uso in Gambas: | ||
Private Const SIGKILL As Integer = 9 | Private Const SIGKILL As Integer = 9 | ||
Riga 16: | Riga 14: | ||
− | + | Public Sub Button1_Click() | |
<FONT Color=gray>' ''Chiudiamo il programma mediante la funzione "raise()" di C:''</font> | <FONT Color=gray>' ''Chiudiamo il programma mediante la funzione "raise()" di C:''</font> | ||
− | + | <FONT color=#B22222>raise_C(SIGKILL)</font> | |
− | + | End |
Versione attuale delle 14:04, 13 giu 2024
La funzione della libreria di C
int raise(int sig);
è una chiamata di sistema che invia un segnale al processo in esecuzione (cioè al programma contenente tale funzione nel proprio codice). Quindi il programma invia un segnale a se stesso.
Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta. Da sottolineare che, poiché questa funzione esterna di C "raise" è omonima alla funzione di Gambas "Raise", bisognerà assegnarle un nome a piacere, ma si dovrà anche richiamare il suo vero nome con il comando Exec.
Dunque avremo ad esempio:
Private Extern raise_C(command As String) As Integer In "libc:6" Exec "raise"
Semplice esempio di uso in Gambas:
Private Const SIGKILL As Integer = 9 ' int raise(int signal) Private Extern raise_C(command As String) As Integer In "libc:6" Exec "raise" Public Sub Button1_Click() ' Chiudiamo il programma mediante la funzione "raise()" di C: raise_C(SIGKILL) End