gpt4 book ai didi

c - 错误 : implicit declaration of function 'execl' [-Werror=implicit-function-declaration]

转载 作者:太空宇宙 更新时间:2023-11-04 08:39:52 28 4
gpt4 key购买 nike

我正在尝试使用 execl 调用来执行 kernel-space-driver (driver.c) 中的二进制文件此时(从第 850 行开始):

    if (!retval)

{
pr_info("%s: registered new device driver %s\n",
usbcore_name, new_udriver->name);
execl("binarylocation", "binary", NULL);

}

我还在文件中添加了#include

但是在构建内核时出现以下错误:

error: implicit declaration of function 'execl' [-Werror=implicit-function-declaration]

因此内核构建失败。

一个警告即将到来:

 warning: incompatible implicit declaration of built-in function 'execl' [enabled by default]

为什么会出现这些错误和警告,即使包含了所需的头文件?

最佳答案

execl 是libc提供的,是用户态的。此外,exec 函数会替换当前进程,但内核中的上下文实际上并没有您想要替换的“当前进程”。

执行此操作的正确方法是通过 udev rule .如果出于某种原因你真的不想使用 udev,你可以使用 usermode helper API (example)。

关于c - 错误 : implicit declaration of function 'execl' [-Werror=implicit-function-declaration],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24163076/

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