【发布时间】:2014-12-24 17:52:53
【问题描述】:
大家好,我是系统编程的新手,如果我的疑问非常模糊,请提醒我。
我实际上正在关注一本名为 Linux 系统编程的书,我对 execvp() 系统调用有疑问。正如书中示例给出的那样,我在我的机器上尝试过,下面是下面的示例..
#include<unistd.h>
//int ret;
int main(){
const char *args[] = { "vi", "/home/kidd/hooks.txt", NULL };
int ret;
ret = execv ("/bin/vi", args);
if (ret == −1)
perror ("execvp");
}
我收到一个愚蠢的错误:
error: invalid conversion from ‘const char**’ to ‘char* const*’ [-fpermissive]
我给了一个 const char 数组名称,显然是 const char**。
为什么会出现这个错误?**
【问题讨论】:
标签: linux-kernel system