Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EYAG1046
Federico Domínguez, PhD.
Unidad 3 – Sesión 1: C y herramientas GNU
Agenda
Programación en Sistemas Embebidos
Introducción a C
Pasar valores por referencia con punteros
Representación de datos
Herramientas GNU
GNU GCC
Linking
• C, C++
Alto nivel • int a = 5; a++;
Abstracción
• Ensamblador
Bajo nivel • MOV %EAX1, %EAX2
• Lenguaje de máquina
Máquina • 10100011100111
#define SIZE 20
printf("%c ",c);
}
}
int z; Ejemplos:
◦ unsigned char
}; ◦ long int
El comando gcc es en realidad un compiler driver, un programa que se encarga de ejecutar toda
la cadena de programas que forman GNU Compiler Collection.
1010
1101
0010
Translators main.o
Linker 1010
1101
1010 ld 0010
1101 prog
0010
swap.o
La opción –g agrega símbolos adicionales al archivo ejecutable los cuáles permiten a gdb
conectar el ejecutable con el código fuente.
Entonces el comando:
◦ (gdb) break my_func
Es común usar estos comando muchas veces seguidas, gdb permite ejecutar el comando
anterior presionando solamente ENTER.
Para inspeccionar el estado del programa es necesario ver los valores de las variables:
◦ (gdb) print my_var (muestra el valor actual de la variable my_var)
◦ (gdb) print/x my_var (muestra el valor actual de la variable my_var en hexadecimal)
Ejemplo:
Comando