その関数が呼び出されるまでトレースを出力するC関数を作成する方法。ライブラリを使いたくない。その仕事をするために自分のコードを書きたい。
誰かがこのタスクを達成するために入力してください。
2 に答える
3
このような関数を移植可能な C で作成することはできません。また、特定のプラットフォームを知らず、コンパイラで使用される呼び出し規則を知らずに作成することもできません。したがって、あなたの質問(現在)には、回答するために必要なすべての詳細が欠けています。
backtrace() が一般的にどのように機能するかを知りたい場合は、利用可能な実装をいくつでも調べることができます。
ゼロから実装したい場合 (宿題?)、プラットフォームの呼び出し規約を調べてください。
于 2011-08-15T06:05:21.653 に答える
1
これを実行するための移植可能な方法はありませんが、gcc は__builtin_return_address
友人と一緒に実行する中途半端な方法を提供します。
于 2011-08-15T06:04:48.440 に答える