Aunque ya contestaron el correo, tambien voy a aportar un grano de arena

<DISCLAIMER>
Aclaro de que este correo contiene una descripcion superficial de un
proceso algo complejo y que puede que diga algunas "mentiras blancas" en
funcion de no complicar en exceso la explicacion. 
Por favor no me culpen por esas pequeNas mentiras, pero si alguien cree
que <<menti demasiado>> en alguna parte, esta bienvenido a hacer las
correcciones del caso.
</DISCLAIMER>

On Sat, 2004-02-28 at 14:32, Gregory Cascante Aviles wrote:
> Hola gente es para ver si alguien tiene documentaciÃn o links sobre
> programaciÃn con gcc. Yo si he usado y hecho programas con el compilador que
> tenÃa borland, el que me habÃan dado en la U y los libros, pero supongo que
> eso ya es un poco viejito.

Supongo que al referirte a Borland hablas del "Turbo C" (ahh, que
tiempos aquellos). Bueno, realmente gcc no es algo como Borland Turbo C,
dado a que Borland es un IDE (Integrated Development Environment). gcc
es un compilador. 

Cual es la diferencia? bueno definamos los terminos:

Editor de texto: cualquier cosa donde puedes escribir en el lenguaje de
programacion que quieras (vi,emacs,joe,notepad,etc)

Compilador: un compilador es un programa encargado de "traducir" un
lenguaje similar a un lexico humano (alias: lenguaje de programacion) a
una serie de simbolos que representan lenguaje ensamblador de la maquina
hacia la cual se esta compilando.

Ensamblador: es un programa que "traduce" simbolos de lenguaje
ensamblador a lenguaje de maquina equivalente a esos simbolos, es decir,
"codigo objeto".

El proceso "normal" para producir un programa es escribir el codigo
fuente en un editor de texto, y despues usar un compilador para
transformarlo a codigo ensamblador, y de alli a codigo maquina (objeto).
Sin embargo ese codigo de maquina no es siempre "codigo ejecutable", xq?
Nos faltan algunos conceptos mas:

"Linkeador": o "linker" es un programa que permite generar codigo
ejecutable desde uno o mas archivos de codigo objeto (realmente sirve
para generar otras cosas tambien). El linker es util para varias
funciones (no voy a explicarlas todas aqui); pero para nuestro interes
basta con decir que es util si tienes un programa escrito en distintos
archivos y quieres generar el ejecutable en producto de "unir" todos
esos archivos.

OK, ahora que sabemos que es un editor, un compilador, un ensamblador y
un linker, solo falta por definir un IDE: los ultimos cuatro juntos en
una interface que los integra de forma sencilla.

A pesar de que gcc no es un IDE, no es simplemente un compilador.
Realmente gcc es un programa para interactuar con varios compiladores y
varias herramientas (preprocesadores, ensambladores, linkers, etc).

Gcc presenta una GRAN cantidad de opciones que permiten especificar que
es exactamente lo que se pretende hacer. Normalmente para un
principiante lo basico seria algo como:

$ gcc -o hello hello.c

Que sirve para crear un archivo ejecutable a base de un archivo fuente
de C. En este caso el gcc sobreentiende que el tiene que realizar el
preprocesamiento (fuera del tema aqui), la compilacion, el ensamblaje y
el linkeaje. 

Por otro lado gcc puede compilar distintos lenguajes (depende de como
este configurado): c, c++, objetive-c, fortran, ada, java.

...

Realmente no existe algo como "programacion en gcc", debido a que gcc no
es una herramienta para programar, es una herramienta para compilar :)

Es bueno aclarar que tambien existen IDEs (libres) para Linux como
anjuta, kdevelop.

Si quieres un IDE muy parecido a los de Borland te recomiendo motor:
http://konst.org.ua/motor/
A mi me encanta el trabajo que hicieron.

Ya para terminar te recomiendo que aprendas un poco sobre "makefiles"
(dale una busqueda a google por tutoriales sobre el tema).

Saludos y espero que te sea de utilidad!

--
Diego A. Dompe Gamboa <[EMAIL PROTECTED]>
Home Page: http://www.cadenux.com/~ddompe/
Cadenux, LLC


-- 
Desuscripción: escriba a [EMAIL PROTECTED], tema 'unsubscribe'
Problemas a: [EMAIL PROTECTED]  http://www.linux.or.cr/listas

Responder a