Desarrollo de videojuegos 1: arquitectura del motor de videojuegos (2ª edición)

Page 54

[36]

CAPÍTULO 2. HERRAMIENTAS DE DESARROLLO Comprobación y resolución de símbolos y dependencias a nivel de declaración. Realizar optimizaciones.

Utilizando GCC con la opción -S puede detenerse el proceso de compilación hasta la generación del código ensamblador. Como ejercicio, se propone cambiar el código fuente anterior de forma que se pueda construir el correspondiente en ensamblador.

GCC proporciona diferentes niveles de optimizaciones (opción -O). Cuanto mayor es el nivel de optimización del código resultante, mayor es el tiempo de compilación pero suele hacer más eficiente el código de salida. Por ello, se recomienda no optimizar el código durante las fases de desarrollo y sólo hacerlo en la fase de distribución/instalación del software.

Ensamblador Una vez se ha obtenido el código ensamblador, GNU Assembler es el encargado de realizar la traducción a código objeto de cada uno de los módulos del programa. Por defecto, el código objeto se genera en archivos con extensión .o y la opción -c de GCC permite detener el proceso de compilación en este punto.

GNU Assembler GNU Assembler forma parte de la distribución GNU Binutils y se corresponde con el programa as.

Como ejercicio, se propone al lector modificar el código ensamblador obtenido en la fase anterior sustituyendo el mensaje original "Hi, world" por "Hola, mundo". Generar el código objeto asociado utilizando directamente el ensamblador (no GCC). Enlazador Con todos los archivos objetos el enlazador (linker) es capaz de generar el ejecutable o código binario final. Algunas de las tareas que se realizan en el proceso de enlazado son las siguientes: Selección y filtrado de los objetos necesarios para la generación del binario. Comprobación y resolución de símbolos y dependencias a nivel de definición. Realización del enlazado (estático y dinámico) de las bibliotecas. Como ejercicio se propone utilizar el linker directamente con el código objeto generado en el apartado anterior. Nótese que las opciones -l y -L sirven para añadir rutas personalizadas a las que por defecto ld utiliza para buscar bibliotecas.

GNU Linker GNU Linker también forma parte de la distribución GNU Binutils y se corresponde con el programa ld.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.