Vra

Ek moet alle beskikbare stapelruimte met 'n spesifieke karakter vir profileringsdoeleindes vul.

In die eerste plek, is daar 'n veilige manier om dit op Android (sommige samesteller -spesifieke funksies miskien) in C ++ te doen? Indien nie, kan ek aanneem dat die adres van die eerste veranderlike wat in 'n funksie verklaar is, die 'begin' van 'ongebruikte' stapel is? Indien nie, is daar 'n manier om huidige stapelwyser te kry, iets soos ESP -waarde op x86?

Was dit nuttig?

Oplossing

Met ARM moet u daaraan dink om die konvensie te noem, aangesien 'n funksie met meer as vier argumente dit sou laat stapel. Ek vind dit baie veiliger om te gebruik GCC se __BUILTIN_FRAME_ADDRESS.

Built-in Function: void * __builtin_frame_address (unsigned int level)
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top