Utilizando Geany para hacer codigo de C y C++

Septiembre 22nd, 2007

Un editor que a mi me gusta mucho usar para escribir mis programas de C, que comúnmente llevan OpenGL es Geany, se trata de un editor muy ligero y sencillo de usar, esta escrito en GTK, por lo que corre independientemente de cualquier manejador de ventanas que estemos usando (ya sea Gnome, Xfce, o KDE), es un editor, no un IDE, por esto me refiero a que nonos va a hacer proyectos, ni nada de eso, solo nos va a dejar editar el texto.

Instalar Geany, no debe de dar mayor problema, pues se encuentra en los repositorios oficiales de Ubuntu, lo podemos hacer via apt-get, o synaptic, o incluso se encuentra disponible en agregar o quitar programas bajo la categoría de desarrollo, si su sistema esta en español (el Ubuntu), geany también vendrá en español.

Bueno, por que querría yo usar un editor de texto aparte de gedit? Pues por que geany me da ciertas ventajas que no me da por ejemplo gedit, al escribir código, estoy hablando a que nos da mas ventajas que el simple sintax highlight

Una pantalla de Geany en accion

Pues aquí viene lo bonito del asunto, si queremos usar Geany para escribir código de OpenGL y glut en Ubuntu, y ya sabemos hacer nuestros propios makefiles, como lo explique en el post anterior.

Ahora podemos usar todo esto a nuestro favor para tener un entorno de desarrollo muy amigable, para empezar guardemos todos nuestros archivos fuentes y makefile en una sola carpeta luego iniciamos geany.

Ahora suponemos que en nuestro makefile, define cierto nombre para el ejecutable por ejemplo “Modelo3D”, y que definimos un make all, de defualt, y que también pusimos un “make destroy”, que elimina los objetos y el ejecutable.

Pues abrimos Geany, de ahí abrimos todos nuestros archivos fuentes, Archivo -> abrir y luego nos vamos al menú que dice: construir

En la ultima opción se encuentra Selecciona Inclusiones y Argumentos, al entrar a esta opción vemos una ventana como esta:

Seleccion de argumentos en Geany
Ahora vemos que Geany ya ha dado valores de default, pues sabe que estamos escribiendo código en C, por que abrimos un archivo .c, sin embargo como nosotros ya hicimos nuestro propio makefile, la vamos a cambiar esas opciones, para que llame a nuestro make.

Lo que tenga escrito en la primer caja de de compilar es lo que se va a ejecutar, cuando apretemos el botón de compilar, ahora nosotros queremos que antes de compilar elimine todos los objetos y el ejecutable, y luego intente compilar todo, es decir queremos que ejecute “make destroy” y luego “make all”, y como esta instrucción se va a mandar al shell tal como la escribimos podemos escribir:
make destroy; make
Ahora lo que escribamos en argumentso para el programa, es lo que ejecuta cuando presionamos el boton de ejecutar, así que podemos poner ahi ./nombre_de_ejecutable o para nuestro ejemplo:
./modelo3D
Como queda la configuracion al final

Y listo, ahora podemos programar cómodamente en Geany, usando glut y OpenGL, cada que queramos compilar, solo presionamos el botón de compilar y al ejecutar el botón de ejecutar.

Algunas observaciones

  • Geany es muy ligero y tiene la enorme ventaja que no hace archivos de proyecto, o de configuración, esto es una ventaja para programas pequeños.
  • La ventaja de tener total control de los argumentos con nuestro propio makefile.
  • También se puede importar código muy fácil, ya que geany, nos da lo mínimo, para poder escribir entre Windows y GNU/Linux, es decir nos deja cambiar el carácter de terminación de linea de los archivos fuentes y la codificación de caracteres, la codificación de GNU/Linux y en particular de Ubuntu es UTF8, la codificación en Windows es depende del idioma en que lo tengamos, pero seguro aparece en el menú de geany. La terminación de linea en Windows es CRLF y en GNU/Linux es LF.
  • Tenemos las opciones que mas comúnmente se usan al programar en un Editor muy ligero y que no para instalar no necesitamos traer montones de librerías como en los casos de editores mas poderosos.

Entry Filed under: Computación, Mis demonios, Recetario de Ubuntu

20 Comments Add your own

  • 1. shanon  |  Octubre 12th, 2007 at 23:10 pm

    por favor me pieden ayudar como realizar un menu en c++ que realize una ecuCION CUADRATIKA Y LA SERIE FIBONACCI

  • 2. nemediano  |  Octubre 14th, 2007 at 4:23 am

    Hola shanon, me temo que dejas muy poca infromacion, acerca de lo que quieres, como para que se te pueda ayudar, si eres mas clara con todo gusto se te hecha la mano.

  • 3. manuel  |  Noviembre 9th, 2007 at 22:50 pm

    Hola, te queria hacer una pregunta:

    Que comandos usa?

    Necesito usar los comandos del prehistorico borland turbo, ejemplo:

    #include

    void main()
    {
    int a;
    printf(”xxxxx”);
    scanf(”%d”, a);
    }

    Trate de usar esos comandos en este programa, pero me daba error de compilacion, no me reconocia la libreria.

    Sabes de cual programa puedo usar que me reconozca esos comandos y librerias?

    Saludos.

  • 4. manuel  |  Noviembre 9th, 2007 at 22:50 pm

    Se me perdio una cosa XD

    Era #include

  • 5. manuel  |  Noviembre 9th, 2007 at 22:51 pm

    mm no me aparece XD era la libreria stdio.h.

  • 6. nemediano  |  Noviembre 9th, 2007 at 23:40 pm

    Hola no entiendo bien tu pregunta, al referirte a “comandos”, comandos de sistema operativo? del C? del compilador gcc? o de que?
    Poniendo en contexto:
    El sistema operativo que estoy hablando en el post es: Ubuntu, además estoy en supuesto de que todo el gcc, esta correctamente instalado, en cuyo caso tu programa debería funcionar a la perfección tal como lo dice el este post y el anterior. I.e.
    gcc -Wall miprograma.c -o miprograma -lm
    Donde mi programa esta justo como lo escribes en tu post
    #include<stdio.h>
    int main (void)
    {
    printf("Hola mundo!!");
    scanf("%d", null);

    return 0;
    }

  • 7. manuel  |  Noviembre 9th, 2007 at 23:52 pm

    No me explique bien, disculpas.

    Uso Ubuntu e instalé el programa por consola, por lo que espero que me instalase todo lo necesario.

    La cosa es que por obligacion tengo que programar por ahora en borland turbo para Windows, lo que yo busco es una alternativa en Ubuntu para poder programar y no tener el desagrado de entrar a windows cada vez que necesito programar.

    Entonces lo que quiero que haga el programa es que me permita programar en C para windows por ahora.

    Y lo de los comandos me refiero a los printf , scanf, etc. Son los mismos cierto? y las librerias?

    Es que el programa me daba error con la libreria, mira te dejo un pantallazo:

    http://img219.imageshack.us/img219/9379/pantallazoua0.jpg

    Saludos.

  • 8. nemediano  |  Noviembre 10th, 2007 at 5:09 am

    OK ahora si me queda clarisimo tu problema, mira es un problema de instalación, el editor te esta diciendo que no encuentra el compilador g++. Es decir que no esta instalado.
    Instálate (o mas bien checa que tengas instalado) ya sea vía synaptic o apt-get, los siguientes paquetes (por supuesto mas todas sus dependencias):
    gcc
    g++
    build-essential
    Después tal como lo explico en este post, configura le algunas cosas al geny.
    Al final te debe de quedar algo mas o menos asi dentro de Geany(en el dialogo de configuar selecciones y argumentos):
    Compilar: g++ -Wall %f -o %e -lm
    Construir: g++ -Wall %f -o %e -lm
    Ejecucion: ./%e
    Es importante, que tenga el -lm al final, por que es ahi donde se enlazan las funciones que quieres usar (estan dentro de stdio.h).
    Espero que con eso ya puedas hacer tu tarea sin ningún problema, suerte y no olvides regresar a contar como te fue.

  • 9. manuel  |  Noviembre 10th, 2007 at 21:05 pm

    Hola, gracias por tu gran ayuda.

    Efectivamente no tenia instalado el build-essential

    Ahora compila, pero no ejecuta el programa, dice que el “guion de inicio no pudo ser creado” o “eno pudo ser ejecutado “.

    Que será ahora?

    Disculpa la molestia, saludos.

  • 10. nemediano  |  Noviembre 11th, 2007 at 0:20 am

    Mmmm, esta raro el error, estas seguro que compila tu programa?
    No me suena el error
    MIra, observa primero que nada que el ejecutable existe (por ejempo desde una terminal o desde el nautilus) de ser asi, trata de ejecutarlo por fuera del Geany, ya sea en una terminal o desde nuatilus.
    Si el ejecutable no esta, que es lo que yo me imagino, intenta compilar desde la terminal con la opcion “-Wall”, como lo marco en el post (La opcion wall es para que te marque todos los errores y los warnings) y dependiendo de los que te diga ahí puedes venir a preguntar de nuevo

    Ahhhh se me acaba de ocurrir también podría ser que al configurar el Geany, se te haya olvidado poner entre comillas, los argumentos.

    Suerte

  • 11. manuel  |  Noviembre 11th, 2007 at 2:36 am

    He probado varias cosas, pero no logro ejecutar el programa XD

    Mira, te dejo un pantallazo con un pequeño programa y la configuracion de la construccion-

    http://img112.imageshack.us/img112/9285/pantallazoiw7.png

    Fijate en el mansaje de abajo del programa, siempre me da ese error.

  • 12. nemediano  |  Noviembre 11th, 2007 at 21:00 pm

    http://img402.imageshack.us/img402/9736/pantallazoxk6.png
    Es un pantallazo, de tu mismo programa ejecutado sin problemas en mi maquina.
    El problema que tienes es un problema de permisos del sistema operativo, la partición en donde esta tu programa (/media/sda2/ según se ve en tu pantallazo), no tiene permisos de escritura para el usuario que esta ejecutando el Geany.
    Estoy adivinando, pero creo que tienes en tu maquina ambos sistemas operativos WInXP y GNU/Linux, tus programas en C están en tu partición WinXP y los quieres compilar y ejecutar viéndolos desde Ubuntu, eso esta muy bien, pero recuerda que debes de tener permisos de escritura en la carpeta donde esta el archivo fuente que estas compilando.
    Mira trata de compilar el archivo en una carpeta netamente de la partición Ubuntu, por ejemplo en tu home y desde ahí compilas ejecutas y corres, solo para que veas que es un problema de permisos.
    Ahora un par de comentarios, tus argumentos están bien, pero por orden, ponle comillas tato al %f como al %e, como se ve en el pantallazo, no olvides poner el -lm (ya se que yo no lo puse, pero es que solo es necesario cuando vas a usar alguna librería aparte de stdio.h, como por ejemplo math.h). De todos formas si esta de mas no pasa nada.
    También veo que esas usando la función clrscr(), la cual esta definida en conio.h, que es una librería propietaria, por lo que esta fuera del estándar de C, y solo funciona en WinXP. Mi recomendacion es que uses alguna alternativa libre.

  • 13. Manuel  |  Noviembre 12th, 2007 at 2:45 am

    Ahora si :D
    Solo me faltaban las comillas XD

    Muchisimas gracias por tu ayuda, la paciencia y tus consejos.

    Saludos, que estes bien,

  • 14. mk  |  Noviembre 28th, 2007 at 18:12 pm

    hola, yo quiero preguntar si hay algun editor para linux, que soporte conio.h,, el geany me parece excelente pero sin esta libreria creo que estoy mocho, alguna ayuda? como poder integrar conio.h?

  • 15. Rebolo_maths  |  Noviembre 28th, 2007 at 20:50 pm

    Buenas! me gustaria saber que función necesito para contar el numero de argumentos que paso al ejecutar un programa en C (Kate) con la consola del linux.
    Merci por la ayuda!

  • 16. nemediano  |  Noviembre 29th, 2007 at 6:27 am

    mk:

    Estas un poco confundido, ningún editor soporta conio.h el editor a diferencia de windows, no tiene nada que ver con el compilador. La pregunta correcta debe ser:
    ¿Hay manera de utilizar conio.h con el compilador gcc? La respuesta como se ve en un post anterior es NO de manera nativa, porque conio es un producto de una compañía que se llama borland, por lo tanto no es Software Libre, a diferencia del resto del lenguaje C que es un estandar ANSI por lo que no pertenece a nadie y cualquiera puede hacer una implementación (ya sea libre o propietaria).
    MI humilde recomendación es que no utilices en tus programas en C, ninguna función definida en conio (que ademas no hacen falta, hay muchisimas funciones en el estandar para darte toda la funcionalidad de conio).
    Si aun así quieres utilizar conio.h si buscas en San Google como te dije “conio.h gcc”, encontraras muchísimas formas de compilar conio.h y por lo tanto utilizarla en cualquier programa bajo Ubuntu. Sin embargo recalco que esto no es recomendable, pues aparte de no ser ético (repito conio le pertenece a Borland y ellos cobran por dártela) es riesgoso pues nadie te asegura que la versión que te bajes y compiles, no tenga algún bug por ahi.

  • 17. nemediano  |  Noviembre 29th, 2007 at 6:33 am

    Rebolo_maths:
    No necesitas ninguna función para contar los argumentos pasados a main, basta con una declaración estándar de main, como por ejemplo:
    int main(int argc, char *argv[]);
    Ahora dentro de main en la variable “argc” tienes un entero que contiene el numero de argumentos pasados a tu programa. Es decir tu no haces ninguna función para contar los argumentos, el entorno (en este caso el shell bash) se encarga de pasártelos.
    Mas información la puedes encontrar en este enlace http://publications.gbdirect.co.uk/c_book/chapter10/arguments_to_main.html

  • 18. Rebolo_maths  |  Noviembre 29th, 2007 at 18:44 pm

    Muxas gracias!! en serio, me estaba volviendo loco!!! jeje Merci!

  • 19. alex  |  Abril 13th, 2008 at 5:31 am

    puedo utilisar esto en mi laptop con windows xp y sies asi que nesesito

  • 20. nemediano  |  Abril 14th, 2008 at 2:46 am

    Hola Alex.
    En la pagina oficial de Geany, dice que en efecto existe un porte para windows, puedes verlo aquí: http://geany.uvena.de/Support/RunningOnWindows
    Desafortunada mente no tengo experiencia usándolo sobre Windows y como ahora no tengo ese sistema operativo instalado, me es imposible hacer las pruebas, según leo deberías de intentar bajarte la versión con todo y GTK.
    Por que no lo pruebas y regresas a contar como te fue?
    Recuerda que este programa solo contiene el editor, por lo que deberías ademas necesitar un compilador de C, por ejemplo minwn

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Cita al azar

Life is good for only two things, discovering mathematics and teaching mathematics. — Siméon Poisson

Foto galeria

img11.jpg img52.jpg img18.jpg img17.jpg

Blogs

Redes Sociales

Tierras Demmoniacas

Categorías

Meta