我想用几乎自动化的工具检查我的程序内存(我还不是很好的gdb),所以我最后使用了valgrind.
但是,我想把一个烟斗作为valgrind的输入; 即我想提出以下内容:
 >cat file.h | ./prog 
我试着做一个
 >valgrind `cat file.h | ./prog`
没有成功.
我还尝试制作一个脚本文件,然后将整个命令放入其中,然后将其传递给valgrind,但没有成功.
小智 2
正如评论中提到的,您应该能够使用以下任一方法:
cat file.h | valgrind ./prog
valgrind ./prog < file.h
第一个使用您特别要求的管道,并且可以轻松地成为任何程序的输出,例如
ls -al | valgrind ./prog
ps -axuwww | valgrind ./prog
如果您只是想获取文件的内容,则后一种方法更有效。
您尝试的反引号方法不适合您在这里所做的事情。它适用于您希望一个命令的输出作为另一个命令的参数的情况(例如 ls -alcat namelist列出名为 nameless 的文件中指定的所有文件的详细列表)。