2015-05-06 37 views
1
/*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); 
     } 
    } 

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

+1

'mknod的()'是SVR4,4.4BSD,POSIX.1-2001功能,无论这个Windows支持的,所以这个功能根本就不在Windows标准库中存在 – qrdl

回答

0

由于qrdl指出,mknod()是一个SVr4,4.4BSD,POSIX.1-2001函数。但是,您可以将CoreUtil s包括到窗口中,并且在将库添加到代码块后,可以使用这些函数。

相关问题