Differenze tra le versioni di "Execv ()"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "La funzione della libreria di C int execv (const char *__path, char *const __argv[]) esegue il programma indicato dal suo percorso contenuto nella stringa del primo argomento...")
 
Riga 2: Riga 2:
 
  int execv (const char *__path, char *const __argv[])
 
  int execv (const char *__path, char *const __argv[])
 
esegue il programma indicato dal suo percorso contenuto nella stringa del primo argomento ''__path''. Al file del programma possono essere associati altri argomenti che rappresentano opzioni e file supportati dal comando del programma avviato.
 
esegue il programma indicato dal suo percorso contenuto nella stringa del primo argomento ''__path''. Al file del programma possono essere associati altri argomenti che rappresentano opzioni e file supportati dal comando del programma avviato.
<BR>Il primo elemento del vettore di tipo stringa, ossia del secondo parametro della funzione ''execv()'', deve contenere uno spazio vuoto. L'eventuale file da passare ed utilizzare con il programma da lanciare, va posto nel secondo elemento del vettore di tipo Stringa.
+
<BR>Il primo elemento del vettore di tipo stringa, ossia del secondo parametro della funzione ''execv()'', deve contenere uno spazio vuoto. L'eventuale file da passare ed utilizzare con il programma da lanciare, nonché le eventuali opzioni da passare, vanno posti dal secondo elemento del vettore di tipo Stringa.
 
<BR>Nel caso di errore la funzione ''execv()'' ritorna il valore -1, altrimenti in caso di successo non ritorna alcun valore.
 
<BR>Nel caso di errore la funzione ''execv()'' ritorna il valore -1, altrimenti in caso di successo non ritorna alcun valore.
  
Riga 19: Riga 19:
 
    
 
    
 
   <FONT color=#B22222>execv(System.Find("evince"), [" ", "http:&lt;/www.indirizzo/web/del/file.pdf"])</font>
 
   <FONT color=#B22222>execv(System.Find("evince"), [" ", "http:&lt;/www.indirizzo/web/del/file.pdf"])</font>
 +
 
 +
'''End'''
 +
 +
 +
In quest'altro esempio viene lanciato il programma Terminale ''xterm'', dal quale si fa lanciare il lettore audio ''vlc'' che eseguirà un file audio:
 +
<FONT color=Gray>' ''int execv (const char *__path, char *const __argv[])''
 +
' ''Execute PATH with arguments ARGV and environment from `environ'.''</font>
 +
Private Extern <FONT color=#B22222>execv</font>(path As String, argv As String[]) as Integer In "<FONT color=#B22222>libc:6</font>"
 +
 +
 +
'''Public''' Sub Main()
 +
 
 +
  <FONT color=#B22222>execv</font>(System.Find("xterm"), [" ", "-e", System.Find("vlc"), "/percorso/del/file/audio"])
 
    
 
    
 
  '''End'''
 
  '''End'''

Versione delle 08:05, 16 ott 2015

La funzione della libreria di C

int execv (const char *__path, char *const __argv[])

esegue il programma indicato dal suo percorso contenuto nella stringa del primo argomento __path. Al file del programma possono essere associati altri argomenti che rappresentano opzioni e file supportati dal comando del programma avviato.
Il primo elemento del vettore di tipo stringa, ossia del secondo parametro della funzione execv(), deve contenere uno spazio vuoto. L'eventuale file da passare ed utilizzare con il programma da lanciare, nonché le eventuali opzioni da passare, vanno posti dal secondo elemento del vettore di tipo Stringa.
Nel caso di errore la funzione execv() ritorna il valore -1, altrimenti in caso di successo non ritorna alcun valore.


Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché bisognerà dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:

Private Extern execv(path As String, argv As String[]) As Integer In "libc:6"


Semplice esempio di uso in Gambas, nel quale viene lanciato il programma "evince" ed aperto con esso un file pdf da internet:

' int execv (const char *__path, char *const __argv[])
' Execute PATH with arguments ARGV and environment from `environ'.
Private Extern execv(path As String, argv As String[]) as Integer In "libc:6"


Public Sub Main()
  
  execv(System.Find("evince"), [" ", "http:</www.indirizzo/web/del/file.pdf"])
  
End


In quest'altro esempio viene lanciato il programma Terminale xterm, dal quale si fa lanciare il lettore audio vlc che eseguirà un file audio:

' int execv (const char *__path, char *const __argv[])
' Execute PATH with arguments ARGV and environment from `environ'.
Private Extern execv(path As String, argv As String[]) as Integer In "libc:6"


Public Sub Main()
  
  execv(System.Find("xterm"), [" ", "-e", System.Find("vlc"), "/percorso/del/file/audio"])
  
End