を使用するプロセスの機械命令をカウントするには、PTRACE_SINGLESTEPパラメータを指定してptraceを使用して、プログラムのマシン命令の数を数えます。私はこの記事に続きました:http://www.ncsu.edu/it/mirror/ldp/LDP/LGNET/81/sandeep.html。LinuxマシンでPTRACE_SINGLESTEP
しかし、結果は私にとって奇妙なようです。非常に単純なプログラムの場合、95,000を超える機械命令がカウントされます。テストプログラムは
int main(void) { return 23; }
ここでは何が起こっていますか?記事のコードは間違っていますか? (何が問題なのか分かりません) もしそうでなければ、そのような単純なプログラムは> 95000命令を必要としますか?
ダイナミックリンカのランタイムオーバーヘッドを避けるため、プログラムを静的にリンクしてみてください。 – mark4o
記事リンクが壊れました... – Thilo