Programacion en linux

Buenas, estoy estudiando programacion y estoy pues todo el rato copiando ejemplos y ejercicios y claro, Kdevelop no me sirve, por la razon de que tengo que crear un proyecto nuevo por cada ejemplo y/o ejercicio y como hago como 40 al dia pues como que no mola eso

Hacerlo por Kate no esta mal, porque pa un ejemplo me da igual hacerlo asi y luego compilarlo con consola, pero a veces quiero depurarlo para ver como funciona, y los depuradores que tnego no valen una mier, asi que si alguien sabe algun IDE sencillito, como dev-c++(esta pa linux, pero es del año de la paca) pues se lo agradeceria :)
Prueba con Anjuta. He oído que va bastante bién (yo ni programo ni lo uso :P).

Saludos.
sipes, aunque no usa colores para distinguir y no tiene sangrado esta bien, pero no compila el anjunta ese :S
Que anjuta no usa colores? ¬_¬

Yo lo uso para hacer chapuzas en C, jugar con Python y aprender algo de Perl y me colorea perfectamente la sintaxis. Antes de colorear tienes que guardar el codigo fuente.

Respecto a compilar en nada de lo que trasteo he tenido problema alguno. Mira si al intentar compilar da algun mensaje de error y asegurate que tienes el codigo fuente guardado, que si no no compilará.

Eso si, la opcion purista es vim + compilador [ginyo]
Ahh guardando antes, xD, pero esque lo de compilar no me sale, bueno ya que sabes del tema, mira este codigo.

#include

main()
{
int *p, q;

p = &q;

q = 1;

printf("%p", p);

*p++;

printf("%d %p", q, p);

}

deberia de imprimir 1, y la direccion del siguiente objeto q apunta p, no? no tengo ganas de pensar,xD

la cosa es que imprime lo siguente :

0xbffff1701 0xbffff174

mientras que en windows no hacia eso xD
Si, en efecto sale lo que comentas.

hades@Narshe hades $ gcc -o fox fox.c
hades@Narshe hades $ ./fox
0xbffff8601 0xbffff864


Ten en cuenta que linux y windows son sistemas operativos totalmente diferentes, y de la misma forma que no puedes incluir la libreria conio en linux, cosas un tanto 'exoticas' como punteros puede que no acaben de concordar. Y no es ningun problema de linux, simplemente es asi.
Fox escribió:no me sale, bueno ya que sabes del tema, mira este codigo.

#include

main()
{
int *p, q;

p = &q;

q = 1;

printf("%p", p);

*p++;

printf("%d %p", q, p);

}

deberia de imprimir 1, y la direccion del siguiente objeto q apunta p, no? no tengo ganas de pensar,xD

la cosa es que imprime lo siguente :

0xbffff1701 0xbffff174

¿Y qué dices que hace mal?

(1) p = direccion de q
(2) q = 1
(3) imprime p
(4) p apunta al siguiente puntero (a entero, 4 bytes)
(5) imprime q
(6) imprime p

(3) 0xbffff170
(5) 1
(6) 0xbffff174

Yo veo que lo hace todo bien, otra cosa es que no programes lo que quieres programar :).

Hay tutos muy buenos por la red. Si quieres aprender descarga alguno y tomatelo con calma. Que el programa no haga lo que tu quieres que haga no quiere decir que el compilador compile mal, seguramente es que no has hecho bien algo ;)

Un saludo
ostias cierto que ya no me acordaba que esa era la salida , esque no vi el 1,xDDD

gracias.xD
Para cosas tan sencillas, yo usaría un pequeño editor (si te gusta vim pues vim, sino a mi me encanta kwrite :P), y compilas en consola con un simple

make nombrefichero

Es decir si tienes pepe.c

make pepe

Ya te genera el ejecutable pepe si es necesario.

Si usas bibliotecas aparte no te vale claro.
y porque no puedo usar la libreia conio?, donde tan mis getch :(


saludos.
Porque es una biblioteca propietaria de Borland.

Usa el ANSI C, el estándar. Usa getchar().

Si quieres una biblioteca que haga cosas parecidas a la conio, y con muchas más cosas: ncurses
Por si alguien no lo ha dicho y no te has dado cuenta Fox:

*p++ incrementa la dirección apuntada por p
(*p)++ incrementa el valor de la zona de memoria apuntada por p (en este caso la variable q)

Ten en cuenta que el postincremento tiene prioridad sobre el *p


En fin, espero no haberme equivocado y explicarme claramente,

Saludos
11 respuestas