¿¿¿Pregunta Sobre gcc instalacion y demaces???

Conversaciones generales alrededor Sabayon Linux

Moderator: Moderators

¿¿¿Pregunta Sobre gcc instalacion y demaces???

Postby sebago » Sat Apr 21, 2007 3:43

Quiero saber como instalar gcc en sabayon, ya que quiero compilar y ejecutar programas ya sea en lenguaje C, Java,etc. no se si alguien me puede enseñar si hay que instalar algo antes porque asi por defecto no se puede compilar y ejeciutar por consola por lo que eh probado no funciona :( , si alguien pueda dar alguna guia paso a paso de la instalacion si es que hay que hacerlo, desde ya estare agradecido. :D :shock: :shock: :D :D

:?: :?: :?: :?: :?: :?: :?:
sebago
Baby Hen
 
Posts: 2
Joined: Fri Mar 23, 2007 21:24

Postby Apokalyptica79 » Sat Apr 21, 2007 3:57

Hola cuando quieras instalar paquetes en Gentoo tenés que tipear lo siguiente en la consola como root.
Es decir si estás como usuario común y querés pasarte a root escribi lo siguiente:
su
contraseña de root
Y listo solo queda por buscar el paquete a instalar. Para saber si lo tenemos escribí lo siguiente:
emerge --search nombredelprograma
En tu caso querés instalar gcc entonces sería:
emerge --search gcc
Si te aparece en la lista para instalarlo escribí lo siguiente:
emerge gcc
Y listo. :D
Si querés saber más aca te dejo un link:
http://www.gentoo.org/doc/es/handbook/2005.1/handbook-x86.xml?part=2&chap=1
Exitos.
Apokalyptica79
Old Dear Hen
 
Posts: 577
Joined: Wed Dec 13, 2006 21:15
Location: Argentina

gcc para java?

Postby tuxtor » Mon Apr 23, 2007 1:49

----Borrado para evitar equivocaciones----
Last edited by tuxtor on Mon Apr 23, 2007 2:39, edited 1 time in total.
User avatar
tuxtor
Simple Hen
 
Posts: 96
Joined: Sat Mar 24, 2007 9:08
Location: Guatemala

Postby daniequy » Mon Apr 23, 2007 2:34

tuxtor, escribio:
Code: Select all
Pues para java no te servira gcc


Lamentablemente estoy en desacuerdo contigo.

GCC es parte del proyecto GNU, el cual trabaja con los siguientes lenguajes:

* Java (GCJ)
* C++ (G++)
* C (GCC)
* Objective C
* Ada (GNAT)
* Fortran (GFortran)

Sebago ademas de darte la bienvenida formal al foro, te detallo un pequeño manual para que te entrenes en GCC:

Pequeño manual del compilador GCC

GCC (GNU Compiler Collection) es un compilador integrado a GNU para programas hechos en C, C++, Fortran, etc. El cual recibe desde la línea de comandos el código fuente como parámetro de cualquier lenguaje soportado de pendiendo la versión del compilador gcc, el cual genera un binario en lenguaje de la máquina el ejecutable.

Sintaxis:

gcc [ opciones | archivofuente ]
g++ [ opciones | archivofuente ]

Para ver todas las opciones del compilador hay que mandarle como paramento:
Code: Select all
$ gcc --help 


Compilación.
Cuando solo se especifica únicamente el código fuente genera un archivo compilado de salida de nombre a.out:
Code: Select all
$ gcc code.c


-o nombre esta opción específica el nombre del archivo ejecutable:
Code: Select all
$ gcc -o bincode code.c


-c Genera el código objeto con el mismo nombre del código fuente, pero con extensión .o:
Code: Select all
$ gcc -c code.c


Para especificar el nombre el nombre del código objeto seria de esta manera:
Code: Select all
$ gcc -c -o objeto.o code.c


-Lruta Con este parámetro se especifican la ruta donde se buscan las librerías o bibliotecas a utilizar por el código fuente:
Code: Select all
$ gcc -L/lib -L/usr/lib code.cpp



-Irura Esta opción indica la carpeta para buscar archivos de encabezado con estación .h:
Code: Select all
$ gcc -I/usr/include code.cpp


- E realiza solamente el preprocesamiento y envía el resultado a la salida estándar.

-Wall muestra todos los mensajes de error y advertencia del compilador

-g incluye en el ejecutable generado la información necesaria para poder usar un depurador como GDB.

-v muestra los comandos ejecutados en cada etapa de compilación así como la versión del compilador.

Ejemplo de un código en c:

/* code.c */

#define valor 123

main()
{
printf("Hola colaboradores de mygnet.\n");
}


Preprocesamiento se pude realizar de la siguiente manera:
Code: Select all
$ gcc -E code.c > code.pp
[code]$ cpp code.c > code.pp [/code]


La compilación transforma el código C en el lenguaje ensamblador.
Code: Select all
$ gcc -S code.c
[code]$ more code.s[/code]
// es el lenguaje ensamblador.

El ensamblado transforma el programa escrito en lenguaje ensamblador a código objeto.
Code: Select all
$ as -o code.o circulo.s
//Código ensamblador a un código objeto
Code: Select all
$ gcc -c code.c //Codigo fuente a un codigo objecto


Enlazado consiste en reunir las uno o más módulos en código objeto con el código existente en las bibliotecas.
Por ejemplo las funciones perintf, getch, strcopy, etc. Todas las que utiliza el código fuente las enlaza ya se de forma dinámica o estática.

Code: Select all
$ gcc -o bincode code.o
//crea un ejecutable bincode

Ejecutarlo:
Code: Select all
$ ./code


La opción -v de gcc obtendrá un informe detallado de todos los pasos de compilación:
Code: Select all
$ gcc -v -o code code.c



Los enlaces pueden ser de dos formas dinámicos y estáticos:

Estático: los binarios de las funciones se incorporan al código binario de nuestro ejecutable.

Dinámico: el código de las funciones permanece en la biblioteca; nuestro ejecutable cargará en memoria la biblioteca y ejecutará la parte de código correspondiente en el momento de correr el programa.

Un enlazado estático:
Code: Select all
$ gcc -static -o code code.c


Si no se especifica el -static el enlazador es dinámico por defecto.

Un enlace estático es mucho más grande en tamaño que un enlace dinámico

Para saber las dependencias de un archivo binario se puede hacer con el comando ldd:
Code: Select all
$ gcc -o code code.c
$ ldd code
        libc.so.6 => /lib/libc.so.6 (0x40017000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

$ gcc -static -o code code.c
$ ldd code

statically linked (ELF)

La compilación estática no tiene ninguna dependencia.
___________________________________________________________________________________

Pero al final para cualquier programa que este en tu gentoo simplemente con el codigo:
Code: Select all
$man nombre del programa


Podras tener un maual, en ingles pero es mejor que nada...

Code: Select all
$ man gcc //para obtener mayo información sobre gcc



Saludos cordiales :wink:
User avatar
daniequy
Old Dear Hen
 
Posts: 554
Joined: Fri Feb 23, 2007 2:42
Location: Puerto Natales, Chile

Si tienes razon

Postby tuxtor » Mon Apr 23, 2007 2:38

Perdona mi estupidez me fue el oso al contestar el post que estaba contestando otro similar en http://www.preguntaslinux.org en donde lo hacia con jdk pero era algo mas complicado para usar con apache tomcat y j2ee, para lo cual a mi no me ha ido bien en todos los casos gcc, creo que cruce los post, dormire un rato antes de contestar de nuevo, gracias por la aclaracion, a todos.
User avatar
tuxtor
Simple Hen
 
Posts: 96
Joined: Sat Mar 24, 2007 9:08
Location: Guatemala

Postby daniequy » Mon Apr 23, 2007 2:49

tuxtor, escribio:
Perdona mi estupidez...


Jaja estupidez es una palabra muy grande para esto no???..... :lol:

...para usar con apache tomcat y j2ee...


Eso ya demuestra de que no eres estupido, de hecho debes ser todo un Hack!

Saludos cordiales :wink:
User avatar
daniequy
Old Dear Hen
 
Posts: 554
Joined: Fri Feb 23, 2007 2:42
Location: Puerto Natales, Chile

Postby Apokalyptica79 » Mon Apr 23, 2007 20:40

A ver espero no llegar tarde para el tema pero encontré esto a ver si te sirve. Sino espero que le sirva al próximo que entre y tenga tu mismo inconveniente. :D
http://www.gentoo.org/doc/es/java.xml
Apokalyptica79
Old Dear Hen
 
Posts: 577
Joined: Wed Dec 13, 2006 21:15
Location: Argentina


Return to Spanish

Who is online

Users browsing this forum: No registered users and 2 guests

cron