我正在实现一个简单的shell,我试图使用系统调用“open”并使用“dub2”系统调用复制文件描述符。当我编译时,我总是得到:
undefined reference to `dub2'
collect2: error: ld returned 1 exit status
代码如下:
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
int main()
{
//input line would be "ls > testfile.txt"
char* input1 = "ls";
char* input2 = ">";
char* input3 = "testfile.txt";
int f = open(input3, O_WRONLY|O_CREAT|O_TRUNC, 0666);
dub2(f, 1); //1(stdout)
return 0;
}
最佳答案
你拼错了函数名。
它是dup2
,而不是dub2
。
关于c - 使用dub2()将输出重定向到文件:未定义对`dub2'的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22674877/