1

我对这个 makefile 有问题总是告诉我 mknod 'T0' operation not allowed

all: tx es_mux demux
     mknod T0 p
     mknod T1 p
     mknod T2 p
     mknod T3 p
     mknod T4 p
     mknod T5 p
     mknod T6 p
     mknod T7 p
     mknod T8 p
     mknod T9 p

tx: 
    gcc -Wall tx.c -o tx

es_mux: 
    gcc -Wall es_mux.c  -o es_mux

demux:
    gcc -Wall demux.c  -o demux

clean: 
    rm -f tx
    rm -f demux
    rm -f es_mux
    rm -f T0 T1 T2 T3 T4 T5 T6 T7 T8 T9

我正在 MBP 上运行具有并行功能的虚拟机。

4

1 回答 1

0

您是否有权在当前工作目录上执行此操作?mknod 现在通常用于创建命名管道。IT 还可以创建字符特殊文件或在 /dev 目录中找到的文件。你为什么需要这些管道——如果它们应该是这样的话?我看不出为什么你的makefile中需要这些。gcc 不需要它们。

(无论如何,请考虑将 mkfifo 用于管道):

于 2014-12-31T02:44:35.303 回答