![](/img/trans.png)
[英]Serial port loopback/duplex test, in Bash or C? (process substitution)
[英]Using cmp with process substitution (stdout)? (Bash)
对于我们的班级,我们必须制作一个C程序,将MIPS指令编码为指令字,然后将指令字解码为MIPS指令。
我已经编写了所有内容并在某些情况下进行了测试,但是我想在更大的数据集上进行测试。
我们得到了测试文件: test.asm
和test.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.