Quelle est la différence entre execl et execv?
- Je utiliser execv
au lieu de execl
. Pour utiliser execv
, j'ai créer un tableau et de mettre les arguments que j'utilise avec execl
. Puis-je mettre ce tableau dans execv
Je sais que je dois utiliser un tableau d'arguments pour execv
mais pourquoi? Quelle est la différence entre execl
et execv
?
Double Possible de Quelles sont les différentes versions de exec utilisée pour le C et le C++?
OriginalL'auteur Ahmet Tanakol | 2012-02-03
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas de différence autre que le format des arguments. Ils seront tous les deux finissent par appeler la même appel système sous-jacent
execve()
.Le
execve()
appel système (etexecv()
) prendre les arguments dans un tableau.execl()
est juste à des fins de commodité, dans le cas où vous avez un nombre fixe d'arguments, pour vous permettre de vous éviter la peine de mettre en place un tableau.execl()
va stocker les arguments de la fonction dans un tableau temporaire, puis de faire l'appel système. Si vous définissez l'argument de la matrice de vous-même, alors vous n'avez pas besoin deexecl()
.OriginalL'auteur mark4o