【问题标题】:What is the difference between execl and execv?execl 和 execv 有什么区别?
【发布时间】:2012-02-25 18:41:03
【问题描述】:

我使用execv 而不是execl。为了使用execv,我创建了一个数组并将与execl 一起使用的参数放入其中。然后我把这个数组放到execv

我知道我必须为execv 使用一组参数,但为什么呢? execlexecv有什么区别?

【问题讨论】:

标签: c linux exec


【解决方案1】:

除了参数的格式之外没有其他区别。他们最终都会调用相同的底层系统调用execve()

【讨论】:

  • 为什么我们需要改变参数的格式?我的意思是如果他们在做同样的事情
  • execve() 系统调用(和execv())采用数组中的参数。 execl() 只是为了方便而提供,以防你有固定数量的参数,让你避免设置数组的麻烦。 execl() 会将函数参数存储在一个临时数组中,然后进行系统调用。如果您自己设置参数数组,则不需要execl()
猜你喜欢
  • 2019-09-08
  • 1970-01-01
  • 2020-07-25
  • 2010-10-02
  • 2011-12-12
  • 2010-09-16
  • 2012-03-14
  • 2012-02-06
  • 2011-02-25
相关资源
最近更新 更多