Tag: STACK-MEMORY
1a: Examina el código a continuación y dibuja los marcos de pila cuando la función1, función2 y función3 son llamadas por el programa principal en un sistema de 32 bits. Usa objdumb y el depurador GDB para analizar el código ensamblador de las funciones. Dibuja el marco de pila después . . . Read more
¿A qué se refiere el término ‘función de acceso’ en el diseño de compiladores? Específicamente, las funciones de acceso presentes en tiempo de ejecución. Por ejemplo, se podría construir una función de acceso para una matriz de 3 dimensiones en el orden de columnas de la siguiente manera: “Los rangos . . . Read more
Estoy usando un microcontrolador tm4c123gh6pm con este script de enlace. Al ir al final, veo: … … .bss (NOLOAD): { _bss = .; <em>(.bss</em>) *(COMMON) _ebss = .; } > SRAM <p><em>heap</em>bottom = ALIGN(8); <em>heap</em>top = ORIGIN(SRAM) + LENGTH(SRAM) – <em>stack</em>size; <em>stack</em>bottom = ALIGN(8); <em>stack</em>top = ORIGIN(SRAM) + LENGTH(SRAM); <code> . . . Read more
Estoy tratando de entender la pila de llamadas de una función con algunos ejemplos prácticos. En todos los diagramas que explican esto, se muestra así [Variables locales][Dirección de retorno][Argumentos] (la memoria más baja a la izquierda). Pero cuando estoy en el depurador gdb y hago una pausa dentro de una . . . Read more
Este es mi código: #include <iostream> using namespace std; // si se asigna memoria estáticamente, no se puede acceder a la dirección de memoria después de que la función haya regresado y su pila se haya ido. int* function(int x) { int *x_ptr = &x; return x_ptr; } int main() . . . Read more