gpt4 book ai didi

c - 函数隐式声明 'execle' 错误

转载 作者:行者123 更新时间:2023-12-04 02:16:51 25 4
gpt4 key购买 nike

我不断得到

implicit declaration of function 'execle' is invalid in 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;
}

最佳答案

C99中,函数的隐式声明是不允许的。这意味着,编译器在遇到对该函数的调用之前应该知道函数签名。这可以通过两种方式实现:

  1. 在使用之前定义函数。
  2. 提供函数的前向声明并稍后定义它。

通常,函数签名通过头文件作为前向声明提供。

根据 man page execle(),您需要包含 unistd.h 以获得前向声明。

关于c - 函数隐式声明 'execle' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31344650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com