私はCPUが使用する命令を生成するようなものを見つけたいと思っていますstrace
。例えば、合計を計算して10回目の繰り返しごとに出力する単純なループがあります。
float fsum = 0.0;
for(int i = 0; i < 1000; i++) {
if(i%10==0) {
fprintf(stderr, "%10.5f%%\n", 100.0*float(i)/float(1000));
}
fsum += 1.0/float(i);
}
さて、これはステートメントなので、ステートメントstrace
に関する情報は提供されますが、合計手順に関する情報は提供されません。使用されている CPU 命令を含む、現在実行中のプログラムに関する情報を取得したい場合、それを実行する方法はありますか?fprintf
write(2
注: 事前にコンパイルが必要なツールなどについては知っています。プロファイリングを考慮してコンパイルされているかどうかわからない現在実行中のプログラムで、gprof
同じ情報を見つける方法を探しています。gprof