Herramientas de desarrollo

Esta sección describe las herramientas disponibles para el desarrollo de aplicaciones GNOME.

Línea de comandos: gcc

gcc es el compilador desarrollado por el proyecto GNU, que permite la compilación de código fuente en diferentes lenguajes de programación para diversas plataformas de hardware. Es por ello por lo que se le conoce más bien como colección de compiladores, ya que incluye soporte para C, C++, Objective C, Fortran, Java y Ada, o lo que es lo mismo, para los lenguajes compilados más utilizados. Además, incluye librerías base para dichos lenguajes, tales como glibc para C, libstdc++ para C++, etc.

Instalación de gcc

Todas las distribuciones de GNU/Linux incluyen versiones empaquetadas y listas para ser utilizadas de gcc, por lo que la forma más sencilla de instalarlo es, como suele ser habitual, mediante el gestor de paquetes de la distribución que se esté usando. Normalmente los paquetes suelen estar separados por lenguajes, de forma que si sólo se instala el paquete gcc, sólo se tendrá soporte para la compilación de programas escritos en lenguaje C. Por ello, si se planea el uso de otros lenguajes, es probable que sea necesaria la instalación de paquetes adicionales para obtener soporte para dichos lenguajes de programación. En todo caso, lo mejor es consultar la documentación específica de cada distribución.

Uso básico

El uso básico de gcc sería el siguiente:

gcc -o fichero_de_salida $opciones fichero_fuente1...fichero_fuenteN

En este punto hay que comentar que existen dos maneras, en casi todos los lenguajes soportados por gcc, de obtener la compilación de un ejecutable. Esto se debe a que, en lenguajes tales como C o C++, el proceso de compilación propiamente dicho se divide en dos:

Así, este hecho hace que se pueda compilar de dos formas. Así, en primer lugar, se puede hacer todo de una pasada, es decir, tal y como se muestra en la línea de comandos anterior, con una sola invocación a gcc se compilan los ficheros fuentes a código objeto, y se enlazan todos ellos, junto con las librerías, para obtener el ejecutable. Este método es muy útil para aplicaciones con pocos (muy pocos, tales como uno o dos ficheros pequeños) ficheros. Sin embargo, para proyectos con más ficheros, el andar compilando todos los ficheros fuente cada vez que se haga un pequeño cambio en uno de ellos es, como es de suponer, una pérdida de ciclos de CPU, ya que, la mayor parte de las veces, sólo habrá cambios en uno o dos ficheros fuente, por lo que no sería necesario volver a compilarlos todos a código objeto. Para ello, se usa la siguiente sintaxis:

gcc -o fichero_objeto.o -c $opciones fichero_fuente.c

Lo que cambia con respecto a la sintaxis mostrada anteriormente es, aparte de que se obtiene un fichero objeto (fichero_objeto.o) en vez de un ejecutable, la opción -c, que indica a gcc que sólo debe realizar el primer paso del proceso, es decir, la compilación del fichero fuente en código objeto. Ejecutando este mismo comando para cada uno de los ficheros fuente del proyecto, se obtiene un fichero objeto por cada fichero fuente. Así, una vez obtenidos todos los ficheros objeto, se usa la siguiente sintaxis:

gcc -o ejecutable $opciones fichero_objeto1.o fichero_objeto2.o ....

Que, en vez de usar los ficheros fuente, indica a gcc los ficheros objeto obtenidos en el paso anterior a usar.

Opciones específicas para el lenguaje C

Uso de Anjuta como IDE

Creación de un proyecto

Compilación y construcción de paquetes

Glade: desarrollo de interfaces gráficas

DevHelp: guía de referencia