我正在尝试编写一个程序来检查另一个程序的全局变量的大小。让我们称我的程序“check”和被检查的程序“a.out”,这意味着我将像这样运行我的程序:
./check a.out
我认为我可以使用以下命令找到这个值:
nm -t d -S a.out | grep ' B ' | awk '{print $2}'
我知道您可以使用 fork/execl 从程序中执行程序,但是我在编写 IO 管道时遇到了一些麻烦。
使用一些简单的 strcpy/strcats,我有一个包含上述字符串的 c 字符串,我可以使用 execl 调用它,但它似乎没有打印任何内容。现在它看起来像这样:
// Code setting char command[1024] equal to the above string
int pid;
if(pid = fork()){ // Parent
// Need some pipes here?
}
else{ // Child
execl(command, NULL);
}
谁能指出我设置这些管道的正确方向?