我曾经能够通过首先编写 python 脚本并使用管道将其作为输入发送到 C 程序来将输入传递给 C 程序
或者将 python 脚本的输出写入文件并在 gdb 中执行 r < myfile
但我该如何将 argv 参数传递给 C 函数呢?
我需要传递一个很长的参数,并且需要使用python的打印函数来创建值,但我不知道如何将它传递给C程序?管道或使用 < 不起作用。
例如执行 python x.py | myprogram 不起作用,并且像 myprogram python x.py 这样的 myprogram 之后使用它也不起作用,我如何将输出作为该程序的 argv 参数传递?
答案1
我怀疑你正在寻找
myprogram "$(python x.py)"
这将获取脚本的输出并将其用作myprogram
( argv[1]
) 的第一个参数。
要将文件的内容用作 的第一个参数myprogram
,cat
请改为使用文件:
myprogram "$(cat file)"