我不断得到
函数“execle”的隐式声明在 C99 中无效
编译下面的代码时。我缺少什么?
#include <stdio.h>
#include <stdlib.h>
char *my_env[] = {"JUICE=PEACH and apple", NULL};
int main (int argc, char *argv[])
{
execle ("diner_info", "diner_info", "4", NULL, my_env);
printf ("Diners: %s\n", argv[1]);
printf ("Juice: %s\n", getenv("JUICE"));
return 0;
}
In C99
,不允许隐式声明函数。这意味着,编译器在遇到对该函数的调用之前应该知道该函数签名。这可以通过两种方式实现:
- 在使用函数之前先定义它。
- 提供函数的前向声明并稍后定义它。
通常,函数签名通过头文件作为前向声明提供。
根据man page of execle()
,你需要包括unistd.h
获取前向声明。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)