2015-05-06 63 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包括到窗口中,並且在將庫添加到代碼塊後,可以使用這些函數。

相關問題