我遇到了this page , 我制作了这个文件
#include <unistd.h>
int main(void) {
exec("ls");
return 0;
}
但是编译它给了我这个消息
$ cc foo.c
undefined reference to `exec'
那个页面是假的吗?过时了?这是怎么回事?
最佳答案
您需要使用“exec”函数系列之一。即以下之一:
int execl(const char *path, const char *arg, ...);
int execlp(const char *file, const char *arg, ...);
int execle(const char *path, const char *arg,..., char * const envp[]);
int execv(const char *path, char *const argv[]);
int execvp(const char *file, char *const argv[]);
int execvpe(const char *file, char *const argv[],
手册页exec会告诉你它们的用法。也许
execl("/bin/sh", "-c", "ls");
或者使用 opendir
、readdir
和 closedir
编写 ls
关于c - 在主函数: undefined reference to exec中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25339617/