"未明确引用mknod"怎么解决这个?

时间:2015-05-06 13:44:54

标签: c windows gcc operating-system system-calls

/*Creating a special file */
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

int main(int argc, char *argv[]){
    int result;
    if (argc != 2) {
        fprintf(stderr, "Usage: ./a.out fifoname\n");
        exit (1);
     }
    result = mknod (argv[1], S_IRUSR| S_IWUSR|S_IFIFO, 0);
    if (result < 0) {
        perror ("mknod");
        exit (2);
       }
  }

我已经执行了一个示例代码来在CodeBlocks中创建一个使用GCC编译器的特殊文件......但是代码在Ubuntu环境中正常运行。 Windows环境是否会产生问题。如果是这样,如何解决在Windows中运行程序的问题?

1 个答案:

答案 0 :(得分:0)

正如qrdl所指出的那样,mknod()是一个SVr4,4.4BSD,POSIX.1-2001函数。但是,您可以将CoreUtil包括在窗口中,并且在将库添加到代码块之后,您可以使用thoses函数。