別のプログラムのグローバル変数のサイズをチェックするプログラムを作成しようとしています。私のプログラムを「check」、チェックされたプログラムを「a.out」と呼びましょう。つまり、プログラムを次のように実行します。
./check a.out
次のコマンドを使用してこの値を見つけることができると思います。
nm -t d -S a.out | grep ' B ' | awk '{print $2}'
fork/execl を使用してプログラム内からプログラムを実行できることは知っていますが、IO のパイプを書くのに少し苦労しています。
いくつかの単純な strcpy/strcats を使用して、上記の文字列を含む c-string を取得しました。これは 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);
}
誰かがこれらのパイプを設定する正しい方向に私を向けることができますか?