繁体   English   中英

使用具有进程替换(stdout)的cmp? (击)

[英]Using cmp with process substitution (stdout)? (Bash)

对于我们的班级,我们必须制作一个C程序,将MIPS指令编码为指令字,然后将指令字解码为MIPS指令。

我已经编写了所有内容并在某些情况下进行了测试,但是我想在更大的数据集上进行测试。

我们得到了测试文件: test.asmtest.bin .asm文件具有MIPS指令, .bin文件具有与那些MIPS指令等效的指令字。

我的decode功能从test.bin接收指令字,将它们转换为等效的MIPS指令,并将其发送到stdout

我想将我的解码功能的输出与test.asm文件中的MIPS指令进行比较,以了解它们是否等效(我正确解码了)。

有人告诉我可以使用带有进程替换的cmp命令来比较两者,但是我不知道在<(...)里面放什么。

我使用以下命令运行程序: bin/mips -d < test.bin其中-d标志表示decoding

我当时在想可能会是这样,但我不确定:

cmp <(cat test.asm) <(bin/mips -d < test.bin)

该命令应该可以工作,但是不需要使用cat进行进程替换,只需将文件名放在此处即可:

cmp test.asm <(bin/mips -d < test.bin)

我不确定使用cmp file1 file2格式,但是可以执行file1 | cmp file2 file1 | cmp file2像这样:

bin/mips -d test.bin | cmp test.asm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM