ARMを使用すると、4つ以上の引数を持つ関数が積み重ねられているため、慣習を呼び出すことについて考える必要があります。使用する方がずっと安全だと思います GCCの__builtin_frame_address。
Built-in Function: void * __builtin_frame_address (unsigned int level)
質問
プロファイリングのために、利用可能なすべてのスタックスペースを特定の文字で埋める必要があります。
まず第一に、C ++でAndroid(おそらく一部のコンパイラ固有の関数)でこれを行う安全な方法はありますか?そうでない場合、関数で宣言された最初の変数のアドレスが「未使用の」スタックの「開始」であると仮定できますか?そうでない場合は、X86のESP値のような現在のスタックポインターを取得する方法がありますか?
解決
ARMを使用すると、4つ以上の引数を持つ関数が積み重ねられているため、慣習を呼び出すことについて考える必要があります。使用する方がずっと安全だと思います GCCの__builtin_frame_address。
Built-in Function: void * __builtin_frame_address (unsigned int level)