使用dub2()将输出重定向到文件:未定义引用`dub2'

时间:2014-03-26 23:04:05

标签: c linux linker ld unistd.h

我正在实现一个简单的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;
}

1 个答案:

答案 0 :(得分:1)

你拼错了函数名。

它是dup2,而不是dub2