Antes de comenzar a hablar de SDL es bueno tener claros unos pocos conceptos. Digamos que la finalidad de esta serie de artículos es saber como montar el tinglado para poder programar en C algo que podamos ver en ventana gráfica y mostrar algunos gráficos y escuchar sonidos.
Podríamos decir que para llegar a eso antes es bueno saber como compilar algo usando gcc y como crear un makefile.
El cometido de esta primera entrada es para ver que vamos a ir necesitando y hacer un hola mundo de ejemplo y un makefile.
Instalar el compilador gcc
En debian se puede instalar así:
# apt-get install gcc
Necesitaremos también un editor de textos. Nano, vim, emacs, joe, … da igual cual quieras usar. Pero necesitarás uno. También se puede usar un editor como geany pero para mayor compatibilidad (si por ejemplo intentas seguir los pasos de este tutorial en una maquina sin entorno gráfico o en una sesión ssh en una maquina remota) yo recomiendo usar uno de los mencionados (el que más te guste).
Lo primero es escribir un programa en c llamado hola.c con el siguiente contenido:
/* Hola mundo Un programa de ejemplo */ #include int main(int argn,char **argv) { printf("Hola mundo!\n"); return 0; }
Si no se ve bien prueba aquí leñes: pastebin.com/raw/imkg08Yp
Si lo analizamos estamos usando la función main y hemos incluido la biblioteca standard de entrada y salida stdio.h (nos permitirá usar funciones para imprimir texto en pantalla, abrir archivos, escribir en archivos, …).
Algunas de las funciones que nos permitirá usar incluir stdio.h son: printf(), scanf(), getc(), gets(), getchar(), puts(), putchar(), clearerr(), f open(), f close(), getw(), putw(), f getc(), putc(), f putc(), f gets(), f puts(), f eof(), f getchar, f getc(), f printf(), f scanf(), f getchar, f putchar, f seek(), f tell(), rewind(), putc(), sprint(), sscanf(), remove(), fflush(), …
Simplemente para nuestro hola mundo hemos necesitado usar la función printf() para mostrar un texto en pantalla.
Compilar el programa con gcc
Una forma normal de compilar algo como lo que tenemos es:
$ gcc hola.c -o hola
Si deseamos mostrar avisos de error (todo el mundo comete errores) podemos compilar así:
$ gcc -Wall hola.c -o hola
Con -o estamos indicando el parametro de salida e indicando que el binario generado será hola.
Para ejecutar hola:
$ ./hola
Nos mostrará un «hola mundo en pantalla».
Creando un makefile
Antes de nada instalaremos make. Por ejemplo así en debian:
$ apt-get install make
Make es una herramienta de gestión de dependencias, típicamente, las que existen entre los archivos que componen el código fuente de un programa.
Crearemos en el mismo directorio en el que hemos creado hola.c un archivo llamado: makefile
Un contenido de ejemplo es este:
CC := gcc CFLAGS := -Wall test: make clean make build build: $(CC) $(CFLAGS) hola.c -o hola run: ./hola clean: -rm hola
Una vez guardado vamos a ejecutar make en el directorio en el que se encuentra makefile.
$ make clean $ make build $ make run
Si lo ejecutamos así lo primero que intentará es borrar el archivo binario (clean) hola si es que existe. Lo segundo será construir el binario (build) y lo tercero será ejecutarlo (run)
Si nos fijamos hemos metido una zona llamada test. Esa será la que make leerá en el caso de que lo ejecutemos sin parámetros.
Con esto es suficiente para entender que será importante crear un makefile para los futuros proyectos que vamos a ir haciendo en este tutorial. Por el momento creo que esto es lo más importante a tener en cuenta y lo más básico.
Ya tenemos nuestro primer programa que simplemente muestra por pantalla un texto pero … que es fácilmente compilable con solo ejecutar make.
Se podría añadir una sección install: en el que instalemos en /bin/ el binario hola (lo copiamos) pero no importa ahora mismo ya que esto es una tontería de programa.
En futuras entradas empezaremos ya a meternos en materia con SDL y veremos que se pueden hacer muchas cosas interesantes desde C puro con SDL.
Saludos cordiales.