2. PASOS EN LA CREACIÓN DE UN
PROGRAMA:
• Edición.
• La edición no es más que escribir el código programa
propiamente dicho en lenguaje C. Una vez escrito el código,
éste debe ser almacenado en un fichero con extensión “.c”.
Existen otro tipo de ficheros fuente que se denominan ficheros
de cabecera(header) y cuya extensión es “.h”.
12/03/2018CODEBLOCKS 2
3. • Compilación y Enlazado.
• En general, se suele denominar compilación al conjunto de procesos que
transforma el código fuente escrito en C en un fichero ejecutable (“.exe”). La
compilación se divide en tres etapas: la pre compilación (en la que se realiza
el análisis sintáctico y se prepara el código para ser compilado), la
Compilación propiamente dicha (en la que se genera un código intermedio
llamado código objeto) y el enlazado o linkado (donde se enlaza el código
objeto con las librerías estándar y externas para formar el ejecutable). Si no
se producen errores de compilación, como resultado obtenemos un
programa con el mismo nombre que el código fuente original pero con
extensión “.exe”.
12/03/2018CODEBLOCKS 3
4. • Ejecución.
• Una vez compilado el programa, se ejecuta haciendo doble clic
sobre el fichero ejecutable generado o directamente desde el
entorno de trabajo. En esta fase también se pueden producir
errores por mal funcionamiento del programa, denominados
errores de ejecución. Estos errores son más difíciles de
corregir, ya que el compilador no indica qué error hay ni dónde
se produce, siendo necesario en la mayoría de los casos
depurar el programa. 12/03/2018CODEBLOCKS 4
5. • Depuración.
• La mayoría de los entornos de programación permiten depurar
programas realizando una ejecución paso a paso y consultar
los valores que van tomando las variables, de manera que
podemos hacer una traza para detectar dónde y por qué
reproducen los errores y corregir los mismos.
12/03/2018CODEBLOCKS 5
7. EL ENTORNO DE CODE::BLOCKS
El entorno de desarrollo CodeBlocks integra, entre otras, las
herramientas:
• Editor orientado al lenguaje C y C++ (resaltando palabras claves,
texto autocompletado, etc)
• Compilador C y C++.
• Depurador visual (Debugger), que permite visualizar el contenido de
variables.
• Visor de proyectos y ficheros.
• •Herramientas complementarias 12/03/2018CODEBLOCKS 7
9. • Como se muestra en la Figura, CodeBlocks presenta el aspecto
de una aplicación común Windows, con la barra de menús, la
barra de botones y varios paneles de acción. El panel principal
es el de edición, donde se escribe el código C de los diferentes
programas. A la izquierda encontramos el panel de proyecto
para acceder a cada una de las partes del programa. Por último,
en la parte inferior tenemos diferentes paneles en los que se
presenta toda la información sobre la compilación, errores y
depuración del programa. 12/03/2018CODEBLOCKS 9
10. 1.- MENÚS Y BARRA DE HERRAMIENTAS
• File: Esta sección nos permite escoger opciones
relacionadas con crear el documento, guardarlo,
cerrarlo e editar sus propiedades
También nos permite abrir un editor hexadecimal.
Al igual que cerrar la aplicación
12/03/2018CODEBLOCKS 10
11. • Edit.: Nos permite deshacer y rehacer
ediciones ya hechas, nos permite copiar y
pegar, nos permite agregar y editar
comentarios, también nos permite dar por
finalizado el código.
12/03/2018CODEBLOCKS 11
12. • View: Nos deja editar lo que vemos en
pantalla, tiene diversas configuraciones,
como por ejemplo, si vemos la
aplicación en forma mínima, o estándar,
y también como que herramientas
vemos en la barra de tareas.
12/03/2018CODEBLOCKS 12
13. • Search: Esto nos facilita la búsqueda de
archivos y palabras, también nos falacita
el hecho de remplazar palabras y archivos.
12/03/2018CODEBLOCKS 13
14. • Project: Nos permite añadir archivos, así como
removerlos y añadir notas.
• También nos muestra los cambios hechos al
proyecto.
12/03/2018CODEBLOCKS 14
15. • Build: Aquí nosotros podemos construir
y dejar correr, nos permite regresar atrás
en los errores, así como reconstruir y
limpiar los mismos.
12/03/2018CODEBLOCKS 15
16. • Debug: Este nos permite dar inicio a la
depuración, así como detenerla; nos permite
saltar a la línea de trabajo siguiente y entrar o
salir de la misma.
• En si, nos permite solucionar todos los errores
de código
12/03/2018CODEBLOCKS 16
17. • Tools: Aquí podemos asignar un símbolo de
sistema, directorio de salida y de proyectos,
así como otras ediciones.
12/03/2018CODEBLOCKS 17
18. • Plugins: Nos permite dar un código de
perfil, así como de estadística, copiar la
cadena en el porta papeles, asignar la
clave Macros, entre otros
12/03/2018CODEBLOCKS 18
19. • Doxyblocks: Esta nos deja extraer la
documentación, extraer comentarios y
darlos cometarios en línea, así como
mantener las preferencias abiertas.
12/03/2018CODEBLOCKS 19
20. • Settings: Aquí podemos ajustar el entorno de
configuración, el compilador y depurador, las
variables globales y la scripting.
12/03/2018CODEBLOCKS 20
21. • Help: Nos permite saber mas acerca del
programa y nos ayuda con lo tips y los
complementos.
12/03/2018CODEBLOCKS 21
22. 2.- PANTALLA DE INICIO
Create a new project: Nos da la opción de crear un nuevo
proyecto, y nos da la opción de seleccionar la
categoría;(console application, estatic library, etc.)
12/03/2018CODEBLOCKS 22
23. • Create a new project: Nos da la opción de crear un nuevo
proyecto, y nos da la opción de seleccionar la
categoría;(console application, estatic library, etc.)
12/03/2018CODEBLOCKS 23
24. • Open an existing project: Aquí podemos seleccionar un
proyecto previamente creado y guardado, siempre y cuando
sean archivos compatibles, como los siguientes:
12/03/2018CODEBLOCKS 24
25. • Visit the Code::Blocks Forum: Esta opción nos redirige al foro
de los desarrolladores de la aplicación, tiene todo tipo de
anuncios y actualizaciones
12/03/2018CODEBLOCKS 25
26. • Report a Bug: Nos permite reportar un bug del software
directamente a los desarrolladores, necesitamos incluir muchos
detalles acerca de lo ocurrido
12/03/2018CODEBLOCKS 26
27. • Request a new feature: Esta opción nos permite apelar a los
desarrolladores sobre la adición de alguna función no
implementada o poco desarrollada dentro de este software
12/03/2018CODEBLOCKS 27
28. • Proyectos recientes: Esta opción nos permite abrir un proyecto
recientemente abierto, editado, o añadido
• Archivos Recientes: Esta opción nos permite abrir un archivo
recientemente abierto, editado, o añadido
12/03/2018CODEBLOCKS 28
29. CREACIÓN DE UN PROYECTO Y EDICIÓN
DEL CÓDIGO
• En el entorno de desarrollo CodeBlocks para poder crear un
ejecutable a partir de un programa fuente en C es necesario
primero crear un proyecto. En esta asignatura se crearán
proyectos de consola que son aquellos que se ejecutan en una
ventana de símbolo del sistema. Cuando se crea un proyecto,
CodeBlocks genera un fichero con extensión “.cbp” que define
el proyecto y otros ficheros que en principio se obviarán.
12/03/2018CODEBLOCKS 29
30. • Para crear un nuevo proyecto, simplemente accedemos a
File>New Project en la barra de menús. A continuación se
selecciona Console Application como se muestra en la Figura 3.
Al hacer clic en el botón Go aparece una ventana en la que debe
seleccionar el lenguaje de programación (C/C++), y en las
sucesivas ventanas debe indicar el nombre del proyecto, el
directorio donde se va aguardar el proyecto y el tipo de
configuración (Debug/Release).
12/03/2018CODEBLOCKS 30
32. • De esta manera se crea un proyecto con un fichero fuente llamado
• main.c que contiene el siguiente código:
• #include <stdio.h>
#include <stdlib.h>
int main( ) {
printf("Hello world!n");
return 0;
}
12/03/2018CODEBLOCKS 32
33. • Si se desea crear un proyecto vacío, es decir, sin incluir el
fichero fuente main.c anterior, simplemente hay que acceder a
Project>New Project en la barra de menús y en la ventana de la
Figura 3 seleccionar Empty Project Una vez creado el proyecto
debe crear un fichero fuente con la opción File>New Empty file
de la barra de menús. Una vez que indique el directorio donde
desea guardar el fichero y el nombre del fichero con extensión
“.c deberá incluir el archivo en el proyecto activo pulsando con
el botón derecho del ratón encima del nombre del proyecto y
seleccionando Add files.. 12/03/2018CODEBLOCKS 33
34. COMPILACIÓN Y ENLAZADO
• Una vez que el programa ha sido escrito, podemos compilarlo y
“Linkarlo” para generar el ejecutable. Para ello simplemente
basta con acceder al menú Build>Build, o pulsar Ctrl+F9, o
pulsar el botón Build en la barra de botones como muestra la
Figura
12/03/2018CODEBLOCKS 34
35. • Si el programa presenta errores, éstos son mostrados en un
panel inferior llamado Build log, no se genera el ejecutable y
automáticamente se resalta el error en el panel de edición. Si el
programa no presenta errores de compilación ni enlazado, se
genera un fichero ejecutable con el mismo nombre que el
fichero fuente y en la carpeta del proyecto bin/Debug o
bin/Release dependiendo del tipo de configuración que hayáis
seleccionado.
12/03/2018CODEBLOCKS 35
36. EJECUCIÓN
• El programa puede ejecutarse desde el propio entorno
mediante la opción Build>Run, o pulsando Ctrl+F10, o
haciendo clic sobre el botón Ejecutar de la barra de botones
mostrada en la Figura 4. La salida del programa es mostrada en
una ventana MS-DOS independiente a la que podemos acceder
mediante la barra de inicio de Windows.
• También es posible ejecutar el programa desde fuera del
entorno como una aplicación más instalada en el sistema.
12/03/2018CODEBLOCKS 36
37. DEPURACIÓN
• Como se ha comentado anteriormente, un programa no puede ser
ejecutado hasta que todos los errores de compilación hayan sido
corregidos, aunque esto no garantiza el buen funcionamiento del
mismo. Cuando un programa funciona (se ejecuta) pero no realizase
cometido de manera correcta, decimos que se producen errores de
ejecución. Estos errores no son detectados por el compilador, por lo
que es necesario ejecutar el programa paso a paso para realizar una
traza del mismo y localizar el error. A estafase se le denomina
depuración (debug). CodeBlocks incorpora herramientas de
depuración a las que podemos acceder mediante el menú Debug
12/03/2018CODEBLOCKS 37
38. BREAKPOINTS (PUNTOS DE RUPTURA)
• Antes de arrancar el modo depuración, es necesario establecer
previamente al menos un punto de ruptura (breakpoint) en
alguna línea del programa para que el depurador se detenga al
llegar a él. Para ello, se debe colocar el cursor en la línea en la
que se quiera establecer el breakpoint y simplemente acceder
al menú Debug > Toggle breakpoint o pulsar F5. En ese
momento aparece al principio de la línea un punto de color
rojo, lo que indica que el punto de ruptura se ha fijado. Para
deshacerlo, se repite la misma acción.
12/03/2018CODEBLOCKS 38
39. EJECUCIÓN PASO A PASO
• Una vez puesto un punto de interrupción, podemos ejecutar el
programa en modo depuración, línea a línea, para comprobar
su correcto funcionamiento. Para arrancar el modo depuración
se accede en el menú a Debug > Start o se pulsa la tecla F8.
Cuando la depuración ha empezado, al principio de la línea de
ejecución aparece la punta de una flecha de color amarilla.
12/03/2018CODEBLOCKS 39
40. • Cuando se comienza una ejecución en modo depuración, aparecen nuevas opciones en el
menú Debug. Estas opciones son:
• Next line (F7)
• Step into (Shift + F7)
• Step out (Shift + Ctrl + F7)
• Continue (Ctrl + F7):
• Run to cursor (F4)
• Stop debugger:
• Edit watches
12/03/2018CODEBLOCKS 40
41. VENTANA DE OBSERVACIÓN
• Para ver los valores de las variables, podemos utilizar la
ventana Watches que está junto al panel de proyecto. Esta
ventana se abre pulsando en la pestaña watches. En esta
ventana sólo aparecerán aquellas variables que hayamos
añadido mediante la opción Editwatches. Además en esta
ventana se pueden añadir, editar y eliminar variables pulsando
el botón derecho del ratón
12/03/2018CODEBLOCKS 41
42. ENTRADA Y SALIDA DE TEXTO CON
FORMATO
• Salida por pantalla:
La función printf permite escribir una lista de datos con un
formato preestablecido. Acepta diferentes tipos de argumentos:
carácter, valor numérico entero o real o cadena de caracteres, y
los escribe según un formato especificado sobre la salida
estándar.
12/03/2018CODEBLOCKS 42
43. • Entrada por teclado:
La función scanf permite leer valores desde la entrada estándar
(teclado) y almacenarlos en las variables que se especifican como
argumentos.
12/03/2018CODEBLOCKS 43
44. ¿COMO PUEDO CREAR MI PRIMER
PROYECTO?
• La primera ves que ejecutamos nuestro IDE Code::Blocks
veremos algo a la siguiente imagen.
12/03/2018CODEBLOCKS 44
45. • Ahora, para crear un proyecto vamos a file > new > Project.
12/03/2018CODEBLOCKS 45
46. • Nos aparecerá una ventana emergente como esta.
Y seleccionamos Console application (o el tipo de aplicación que
desea) y presionamos Go.
12/03/2018CODEBLOCKS 46
47. • Damos a next y nos aparecerá una ventana para elegir el
lenguaje.
Presionamos next y introducimos el titulo de la aplicación en,
Project title. Y presionamos next.
12/03/2018CODEBLOCKS 47
48. • Nos aparecerá una ventana como esta. Aquí podemos
configurar las opciones del espacio de trabajo y donde se
guardaran nuestros archivos. Presionamos finish.
12/03/2018CODEBLOCKS 48
49. • Una ves hecho esto, ya podemos empezar a programar solo
tenemos que abrir el archivo main.c para editarlo y compilarlo
con F9. Abrimos el nodo o carpeta azul de
la izquierda y seleccionamos main.c, que será el archivo de
código fuente de nuestra aplicación.
12/03/2018CODEBLOCKS 49
50. • En el archivo main.c introduciremos nuestro código, para
compilarlo podemos teclear F9 o en el menú Build > Build and
run.
12/03/2018CODEBLOCKS 50
51. • Muchas veces, es necesario incluir archivos ya existentes en un
proyecto que acabamos de crear, típicamente porque estos
archivos son módulos que ya están hechos previamente y que
deseamos aprovechar
• Para añadir estos archivos, se utiliza la opción Project >> Add
Files, que abre un cuadro de diálogo de apertura que permitirá
seleccionarlos.
12/03/2018CODEBLOCKS 51
52. • En la ventana del proyecto aparecerán correctamente
ordenados según sean archivos cabecera (.h) o archivos de
implementación
12/03/2018CODEBLOCKS 52
53. • Nótese que, para que una sentencia como #include
“cabecera.h” sea correctamente compilada, también es
necesario añadir al proyecto una indicación de dónde se
encuentra ese archivo de cabecera (si es que no reside en el
directorio del proyecto). (.c, .cpp).
12/03/2018CODEBLOCKS 53
54. • Esto se logra en Projects >> Build options, seleccionando
entonces la pestaña Search Directories (figura 7), y pulsando
entonces el botón add para añadir un nuevo directorio.
Entonces se escribe la nueva ruta (como se ve en la figura 8), y
es añadido a la lista de búsqueda.
12/03/2018CODEBLOCKS 54
55. • Una vez hecho esto, el proyecto se construirá perfectamente.
Sólo es necesario tener en cuenta un detalle: si el camino del
directorio a introducir contiene espacios, es posible que la
compilación termine con varios errores aparentemente
inexplicables (como por ejemplo, que no se encuentra
c:documents, en Windows), por lo que si es así, es mucho más
conveniente indicar el nuevo directorio de búsqueda como un
camino relativo, en lugar de absoluto.
12/03/2018CODEBLOCKS 55
56. • Así, si necesitamos un directorio llamado Lib que está al mismo
nivel que el directorio del proyecto (como
ejemplo,HolaMundo/), entonces será más conveniente fijar el
nuevo directorio de búsqueda como ../Lib.
• También es posible, en esta ventana, cambiar el compilador
que se ha estado usando, o las opciones de depuración u
optimización, o cualquier otra que se desee añadir.
12/03/2018CODEBLOCKS 56
57. • Nótese que, a la izquierda, aparecen los perfiles que hayamos
creado antes (por defecto, debug y release), de manera que los
cambios afectan independientemente a una de los perfiles: para
que afecten a ambos, será necesario repetirlos.
12/03/2018CODEBLOCKS 57
58. • Es sencillo comparar ambos perfiles: el primero tiene todas las
opciones de
• depuración seleccionadas, mientras el otro no sólo no las tiene,
sino que incluye todas las posibles optimizaciones.
12/03/2018CODEBLOCKS 58
59. • Es típico que necesitemos incluir nuevos módulos en el
proyecto, de manera que dividamos la funcionalidad en partes
independientes. Lo que desearíamos hacer en ese caso es muy
parecido a lo hecho en el apartado anterior, sólo que ahora los
archivos no existen previamente.
12/03/2018CODEBLOCKS 59
60. • Para acceder a esta opción, se selecciona File >> New, y
entonces, File. Se nos da a elegir entre dos opciones: un nuevo
archivo de cabecera (header, extensión .h), o de
implementación (source, .c)
12/03/2018CODEBLOCKS 60
61. • Finalmente, hay que tener en cuenta que si se ha creado un
archivo de cabecera, y éste se encuentra en un directorio que
no es el directorio del proyecto, será necesario, como se indica
en el apartado anterior, añadir la ruta del directorio en el que
se encuentra a las opciones del proyecto.
12/03/2018CODEBLOCKS 61