Ir al contenido principal

Compilar un programa en C/C++

En esta entrada vamos a ver los pasos básicos para compilar un archivo en lenguaje C o C++, así como también configuraremos Geany para q compile correctamente...

Bien antes q nada para intentar compilar debemos tener instalado un compilador, puede ser gcc o g++, para C o C++ respectivamente, esto lo podemos hacer descargando MinGW cuando estemos instalando podremos elegir los distintos lenguajes q queremos compilar, podemos seleccionar C y C++.

Una vez finalizado, abriremos una terminal en nuestro sistema operativo y escribiremos "gcc" si esta correctamente instalado aparecerá algo como esto:

Aunque en la imagen aparece " gcc: error fatal: no hay ficheros de entrada", esto es en realidad una buena señal, ya q quiere decir q nuestro compilador está respondiendo, si estuviera mal instalado diría algo así como "no se reconoce el comando gcc".(recuerda q siempre puedes hacer click en la imagen para agrandarla)

Los comandos de compilación se ingresaran en esta terminal colocando "gcc -[opción] [nombre del archivo]"(sin los corchetes y las comillas), por ejemplo si tenemos un archivo llamado "holamundo.c" escribiríamos gcc -c holamundo.c, nuestra compilación se creara en el mismo directorio en el q se encuentra el archivo original. 

"Para navegar entre los archivos de nuestro equipo usando la terminal tenemos varias maneras dependiendo del sistema operativo q tenemos, en Linux, al abrir la terminal podemos escribir sudo su y presionamos Enter para confirmar, nos pedira nuestra clave personal, la escribimos y confirmamos con Enter la terminal nos ubicara en nuestra carpeta personal, en este caso como ven es mi carpeta "seba". Para poder ver los archivos y directorios de la carpeta ingresamos dir y confirmamos. Para Ingresar a alguna carpeta escribimos cd [nombre de la carpeta] y confirmamos, tenemos q tener en cuenta q hay q respetar las mayúsculas y minúsculas. Para volver atrás en una carpeta colocamos cd .. y confirmamos como siempre. En windows los comandos son parecidos, solo q tiene algunas diferencias, por ejemplo no nos pide ninguna clave, para ejecutar el archivo escribimos "[nombre del archivo].exe", todo lo demás es igual."
Continuamos...
Como dijimos para compilar ingresamos el llamado al compilador con gcc seguido de la opción correspondiente y el nombre del archivo. Las opciones más comunes son estas:
-c Compila el archivo generando un archivo objeto con el mismo nombre pero con extensión .o
-o Luego de compilar y generar el archivo objeto colocamos esta opción para generar un archivo ejecutable, debemos colocar el nombre q queremos q tenga nuestro ejecutable entre la opción y el nombre del archivo original, de esta manera:
Por último para ejecutar nuestro archivo compilado escribimos ./[nombre del archivo sin extensión] y confirmamos (esto en linux) en windows escribimos [nombre del archivo].exe y confirmamos.




Ahora lo bueno de Geany como dije antes es la posibilidad de conpilar desde la propia IDE, como se imaginaran esto nos ahorra tiempo y trabajo. Bueno entonces como hacemos para q esto funcione correctamente?? Si estamos trabajando con Linux, con verificar q tenemos el paquete gcc o g++ instalado tendría q andar sin problemas, ahora con Windows tenemos q configurar algo más...
-Primero instalamos el compilador, todo listo?? bueno vamos a instalar Geany
-Una vez instalada nuestra IDE, vamos a configurar las "variables de entorno" de windows. Para esto vamos a hacer "click derecho" sobre el icono de "mi pc" o "equipo" según tengan xp, vista o seven. Ingresamos en propiedades, luego en "configuración avanzada del sistema" y por último en la pestaña sistema entramos en "variables de entorno".

-Aquí veremos dos recuadros con distintas opciones, vamos a buscar en el recuadro inferior "Path" lo seleccionamos haciendo click sobre el y elegimos "editar" nos aparecerá, varias cosas pre configuradas, vamos a movernos hasta el final de todo y agregamos lo siguiente ;C:/MinGW/bin cuidando las mayúsculas y q no hayan espacios en blanco. Aceptamos todo hasta salir por completo de la administración del equipo y ahora si abrimos Geany, si lo tenían abierto cierrenlo y vuelvan a abrirlo para q se apliquen los cambios, con esto debería funcionar en perfectas condiciones.
Acá les dejo unas capturas paso a paso para ayudarlos un poco:






Pero si quieren evitarse todo ese trabajo, porq por ahí cuesta un poco configurarlo, sobre todo cuando parece q esta todo perfecto pero igual no anda, un bajón, pueden descargarse este paquete q les va a hacer todo esto automáticamente.
Este paquete me lo pasó Paula una compañera de la facu, me salvo la vida varias veces ajaj no se de donde lo sacó, ella no se acuerda, asi q al autor MUCHAS GRACIAS!! sos un genio. Bueno en el paquete van a encontrar, el instalador de Geany, MinGW y un ejecutable más q configura las variables de entorno para q todo funcione más q bien!
Este paquete sirve para Windows, es un rar y no tiene contraseña. Lo pueden descargar desde aqui.

Comentarios

Entradas populares de este blog

C: Conversiones de tipo (casting) en C...

El casting o simplemente cast  nos permite hacer una conversión explícita de un tipo de dato a otro, a criterio del programador siempre y cuando estos tipos sean compatibles. Este cast se realiza a través de un operador de conversión de tipos (type casting operator) y es un recurso a tener en cuenta ya que hay situaciones en que nos puede resultar de gran utilidad. Hacer uso de un cast es tan sencillo como poner (tipo de dato)  delante de la expresión o variable a convertir. Veamos un ejemplo: Declaramos una variable de tipo int con un identificador tan creativo como "a" y le realizamos diferentes cast a a para mostrarlo como si fuera un float, un double y un char en un printf. Lo que obtendríamos en pantalla sería lo siguiente: Donde tenemos el valor de nuestro a, a convertido en float y double (mostrándolo con 3 cifras decimales) y a convertido en char. Si vemos este último caso, al hacer la conversión de "a" a char toma a como el código ascii de

C: Ejemplos: Congruencia de Zeller (nivel básico) ...

La Congruencia de Zeller es un algoritmo que se atribuye al matemático alemán Julius Christian Johannes Zeller que vivió en el siglo XIX. Este algoritmo nos permite determinar el día de la semana que le corresponde a una fecha determinada del calendario Gregoriano. La fórmula que nosotros usaremos (con algunas modificaciones respecto de la original para poder usarla en  informática) es la siguiente: Donde h es el día de la semana (entre 0 y 6), J es año/100 (la centuria) y K es año mod 100 (el año de la centuria). Y hay que tener en cuenta que los meses de enero y febrero cuentan como el mes 13 y 14 del año anterior. Ahora que tenemos la fórmula, programemos el algoritmo en C mediante el uso de una función: Analicemos el código paso a paso: Tenemos en cuenta el caso de enero y febrero: Dijimos que estos meses corresponden a los meses 13 y 14 del año anterior por lo que los asignamos como corresponde (mes + 12 , que dará 13 para enero y 14 para febrero) y le rest

Algoritmos: Resolución de problemas y refinamientos en pseudocódigo...

En otras entradas, vimos las partes que debe tener nuestro algoritmo en pseudocódigo y las estructuras que utilizaremos para resolverlo. Ahora llega el turno de implementar todo en conjunto para dar origen a nuestra creación. Pero ¿cómo resolvemos un problema así? Para hacerlo, utilizaremos lo que llamamos refinamientos sucesivos. Este concepto consiste en dividir el problema en subproblemas más pequeños y a estos, a su vez, en otros más pequeños; y así sucesivamente hasta que la solución de los últimos sea trivial, sencillo de resolver. Luego usaremos todas las soluciones obtenidas para armar la solución de nuestro problema mayor. Este principio, tiene base en parte de la técnica divide and conquer (dependiendo de la traducción: "divide y vencerás") que es una de las muchas técnicas de resolución de algoritmos existentes. Como vemos, al dividir el problema en otros más pequeños y más fáciles de resolver, podemos pasar de un problema complicado a uno cuya solución es much