Domanda

Devo riempire tutto lo spazio dello stack disponibile con carattere specifico per scopi di profilazione.

Prima di tutto, c'è un modo sicuro per farlo su Android (forse alcune funzioni specifiche del compilatore) in C ++? In caso contrario, posso supporre che l'indirizzo della prima variabile dichiarata in una funzione sia lo stack "start" di "non utilizzato"? In caso contrario, c'è un modo per ottenere il puntatore dello stack corrente, qualcosa come ESP Value su X86?

È stato utile?

Soluzione

Con ARM, devi pensare a chiamare la convenzione poiché una funzione con più di quattro argomenti li farebbe versare per impilare. Lo trovo molto più sicuro da usare __Builtin_Frame_Address di GCC.

Built-in Function: void * __builtin_frame_address (unsigned int level)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top