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