c - 将 cmp 与进程替换 (stdout) 一起使用? ( bash )

标签 c bash command-line-interface mips

对于我们的类(class),我们必须编写一个 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)

关于c - 将 cmp 与进程替换 (stdout) 一起使用? ( bash ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48672593/

相关文章:

c - fread()、solaris 到 unix 的可移植性和未初始化值的使用

c++ - 如何在 C++ 项目中包含 C/C++ 库(例如 libcurl)(IDE : Eclipse)?

linux - bash 找到前导 '.' 的返回路径如何从返回字符串中删除这个字符?

node.js - 如何在expressjs上将API(路由)转换为CLI

php - Windows 上的 Doctrine Cli

docker - 上次使用的docker-compose命令

c - 动态声明结构未按预期工作

c - 如果我的scanf变量是 float ,并且用户输入了字符,我如何提示他们输入数字?假设scanf在do while循环中

regex - 使用 sed 替换等长文本

bash - "expect <<- DONE"是什么意思?