Manual de Visual Basic C++
Manual de Visual Basic C++
er Semestre 2004
Autores: Felipe Lyon Pablo Marambio Claudio lvarez [email protected] [email protected] [email protected]
Objetivo
Este manual est diseado para ayudarte a entender un poco mejor cmo trabajar con el programa Microsoft Visual Studio 6.0, y usarlo para escribir programas en el lenguaje de programacin C. Consltalo no slo una vez, sino muchas. A pesar de ser introductorio, tiene indicaciones paso a paso con ilustraciones para el desarrollo de las tareas ms comunes, que van desde una dificultad menor (abrir el entorno de programacin Visual C++) hasta otras ms complejas, como depurar un programa ya escrito. Si esta es la primera vez que lo consultas, puedes comenzar leyendo los primeros contenidos, que explican la iniciacin del Entorno de Programacin y la creacin de un proyecto para empezar tu trabajo.
Contenidos
El lenguaje de programacin C El entorno de programacin I: o En qu consiste? o Iniciar VS 6.0 o Nuevo Proyecto o Abrir un proyecto existente o Agregando un Archivo al Proyecto o Abrir un archivo agregado al Proyecto o Cambiar archivo de edicin actual por otro ya abierto o Guardar cambios y cerrar el Proyecto Empezando a programar: o Cmo empezar? Funcin main Funciones externas El entorno de programacin II: o Compilacin de un programa o Construyendo un programa o Ejecutando un programa o Explicacin grfica El entorno de programacin III: o Se cae? A depurar. o Los pasos de la depuracin Run to Cursor Step Over Step Into Step Out o Seguimiento de variables o Iniciando la depuracin Seguimiento de variables Insertando un break point o Deteniendo la depuracin
1) El lenguaje de programacin C
C es un lenguaje de programacin altamente difundido entre los programadores de sistemas computacionales, y se encuentra disponible en la mayora de las plataformas de computacin, adjudicndose un sitial de estndar en la industria del software. C permite escribir programas simples de manera muy elegante, con control de flujo bien estructurado que facilita programar sin los confusos GOTOs, y generar cdigo de manera compacta sin ser demasiado complejo. Una buena razn para usar C en el curso de introduccin a la programacin es que enfatiza la buena organizacin y modularidad de las componentes que resuelven un problema computacional. Para mayor referencia ir a: http://www.lysator.liu.se/c/bwk-tutor.html
2) El entorno de programacin I:
En qu consiste?
El entorno de programacin integrado (IDE) es una aplicacin diseada para facilitar la creacin de programas computacionales, poniendo al alcance del usuario un editor de cdigo, un compilador y un depurador. Visual Studio 6.0 es uno de los IDE existentes en el mercado y es el que se usar en el curso de Introduccin a la Programacin, con el objetivo de crear programas en C.
En este momento el programa estara abierto. Si es que el Entorno de Programacin no aparece en el men inicio, debers abrirlo desde el archivo donde lo instalaste, el cual generalmente es C: \ Archivos de Programa \ Microsoft Visual Studio \ Common \ MSDev98 \ Bin \ msdev.exe.
Nuevo Proyecto
Para crear un programa en MS Visual C++ 6.0 se debe crear primero un proyecto. Un proyecto es una coleccin de archivos almacenados en un directorio (carpeta) en la cual se incluye el cdigo fuente en C del programa que t escribirs, y otros archivos que son necesarios para el entorno de programacin. Para crear un nuevo proyecto, sigue los siguientes pasos: Para crear un nuevo proyecto, debes seguir los siguientes pasos: 1. 2. 3. 4. 5. 6. Selecciona File del men principal. Entra a New... Aparecer un cuadro con varias pginas. Asegrate que la pgina actual se llame Projects Selecciona Win 32 Console Application En el cuadro de texto llamado Project name, ingresa un nombre para tu proyecto. Trata de usar nombres que puedas recordar para que despus no se te confundan a la hora de abrir proyectos. En el cuadro de texto llamado Location aparece la parte de tu disco duro en el cual se crear la carpeta con el proyecto. No es necesario cambiar eso, sin embargo, puedes hacerlo para que tu proyecto quede en la carpeta que t desees. Si ests en los laboratorios, debers elegir el disco H o bien el disco T (temporal). Presiona OK. Aparecer otro cuadro con cuatro opciones, que son las siguientes: 8.1. An empty project 8.2. A simple application 8.3. A hello, world! application 8.4. An application that supports MFC. De las opciones anteriores seleccionars slo la nmero 1. Presiona Finish Aparecer otro cuadro con informacin sobre el proyecto recin creado. Cirralo presionando OK.
7. 8.
9. 10. 11.
En este momento ya tienes un proyecto creado. En la carpeta que se cre deberan existir 3 archivos y otra subcarpeta vaca.
Note que al momento de realizar esta operacin se crean una serie de archivos en la carpeta donde se creo el proyecto. Sin embargo, de todos los archivos el ms importante es el *.dsw que es el que contiene los datos necesarios de nuestro proyecto (dependencia de otros archivos y libreras etc). Es importante considerar que los otros archivos SI son importantes pero estn por sobre el objetivo del curso por lo que no se describirn en detalle.
5.1 Si ests agregando un archivo de cdigo (.c) 5.1.1 Gurdalo con un nombre adecuado, terminado en .c. por ejemplo, si decides ponerle el nombre archivo nuevo, debers escribir archivo nuevo.c 5.2 Si ests agregando una librera (.h) 5.1.1 Efecta el paso 5.1.1 pero terminando el archivo con .h.
Con esto ya hemos guardado nuestro cdigo fuente. Entonces nos falta el ltimo paso: incorporar el archivo fuente a nuestro proyecto. Para hacer eso tal como se muestra en la ilustracin inferior, es necesario hacer un click derecho sobre el texto e insertar dicho archivo en el texto pertinente.
Selecciona el men File Selecciona Close Workspace Aparecer un cuadro preguntando si ests seguro que deseas cerrar todas las ventanas. Presiona Yes. Ahora puedes abrir otro proyecto. 1.2 Si no deseas seguir trabajando en VS6.0, simplemente: 1.2.1 Selecciona el men File 1.2.2 Haz clic en Exit
3) Empezando a programar
El recordatorio bsico que aparece a continuacin no sirve en ningn modo como reemplazo de las clases y los textos de estudio que aparecen en el prospecto del curso. Tiene algunos consejos rudimentarios que te ayudarn a empezar a programar por primera vez.
Cmo empezar?
Ahora asumiremos que ya ests en el entorno de programacin Visual C++ 6.0, con un proyecto nuevo que acabas de crear y un archivo de cdigo (terminado en .c) que le acabas de agregar. Si es la primera vez que vas a programar, puedes empezar por seguir los pasos que vienen a continuacin.
Funcin main
Como sabes, todo programa escrito en el lenguaje C, es un programa en base a instrucciones que se ejecutan paso a paso, individualmente. El orden en que se ejecutan es desde arriba hacia abajo, partiendo por la primera instruccin del main. El main es la funcin principal de todo programa escrito en C. Main, en ingls, significa principal. Lo que tienes que hacer en tus primeros programas es empezar por escribir una funcin main. El main se declara de la siguiente forma: void main( ) { } Dentro de los corchetes vendrn las instrucciones que tu quieras incluir, y las primeras que ejecute el programa. stas podrn ser funciones para escribir en pantalla, declaraciones de variables, inicializaciones de variables, bloques de decisin, etc.
Funciones externas
Para empezar, las funciones bsicas con las que trabajars sern el printf(...) y el scanf(...). La primera te sirve para escribir cosas en pantalla, y la segunda para extraer nmeros, letras o cadenas de texto desde el teclado. Estas funciones se llaman funciones de Entrada / Salida, ya que son las que conectan el programa con el usuario. Si deseas usar alguna de estas funciones, debes primero incluir la librera stdio.h (Standard Input / Output) en tu programa. Esto se hace al inicio del cdigo, afuera del main:
#include <stdio.h>
void main( ) { ... printf(...); scanf(...); ... } Ejemplos del uso de printf: Ejemplo 1: printf([CADENA_DE_TEXTO]);
lo que se imprime
[CADENA DE TEXTO]
lo que se imprime
3
Ejemplo 3: int NOMBRE_VARIABLE_INT = 30; float NOMBRE_VARIABLE_FLOAT = 5.5; printf(TEXTO_1 %f TEXTO_2 %d, NOMBRE_VARIABLE_FLOAT, NOMBRE_VARIABLE_INT);
lo que se imprime
Ejemplos del uso de scanf: Ejemplo 1: int VARIABLE_ALMACENAMIENTO_INT; scanf(%d, VARIABLE_ALMACENAMIENTO_INT);
RESULTADO: VARIABLE_ALMACENAMIENTO_INT
10
4) El entorno de programacin II
Compilacin de un programa
El compilador es una herramienta fundamental para hacer un programa a partir de un cdigo escrito en un lenguaje como el C. Lo que hace el compilador es traducir el cdigo, legible para un ser humano, a lenguaje de mquina, legible para un computador. Este no es el programa final, todava falta hacer uso del linker y/o builder para tener como resultado un .exe. Esto lo veremos un poco ms adelante. La compilacin la haces cuando creas que tienes el cdigo listo y sin errores. Una recomendacin es que, al principio, vayas tratando de compilarlo cada poco rato a medida que avanzas en la construccin del cdigo. De esta forma te irs dando cuenta de los errores que vas cometiendo y los podrs ir arreglando ms fcilmente. Por el contrario, si creas un programa muy extenso y no lo compilas sino hasta que lo crees listo, lo ms probable es que hayas cometido muchos errores (como todos al principio) y el compilador te lo har saber. Es muy desalentador ver una lista de muchos errores. Toma en cuenta que el compilador no funcionar si es que tu cdigo tiene errores. Para compilar un cdigo, sigue los siguientes pasos: Nota: se asumir que se trabaja sobre la base de un archivo de cdigo (.c) agregado a un proyecto. 1. Elige el men Build 2. Selecciona la opcin Compile [NOMBRE DE PROYECTO] 2.1 Si no tienes errores en el cdigo, la ventana de ms abajo del entorno de programacin te indicar que el programa ha sido exitosamente compilado. 2.2 Si tienes algn error, aparecer en la ventana de ms abajo del entorno de programacin, indicando su tipo y lnea de cdigo en que se encuentra. Toma en cuenta que las lneas en blanco tambin se cuentan. 2.2.1 Repara los errores que te aparezcan y vuelve al paso 1
Construyendo un programa
En este paso, haremos uso del linker del cual se habl en Compilacin de un programa. El linker es otro subprograma necesario para la creacin de un .exe. Su tarea es juntar todos los archivos en cdigo de mquina que hayas creado compilando tu programa, y los junta en uno. Esto es, finalmente, el producto final. Los errores que puedas tener en esta parte de la creacin del programa final tienen relacin con funciones o constantes que ests usando sin haber incluido la librera o el cdigo de donde proceden. Toma en cuenta que cuando haces uso del linker el programa no se ejecuta directamente. Para construir un programa sigue los siguientes pasos: 1. Elige el men Build 2. Selecciona la opcin Build [NOMBRE DE PROYECTO] 2.1 Si no tienes errores en el cdigo, la ventana de ms abajo del entorno de programacin te indicar que el programa ha sido exitosamente linkeado.
11
2.2 Si tienes algn error, aparecer en la ventana de ms abajo del entorno de programacin, indicando su tipo y lnea de cdigo en que se encuentra. Toma en cuenta que las lneas en blanco tambin se cuentan. 2.2.1 Repara los errores que te aparezcan y vuelve al paso 1
Ejecutando un programa
Finalmente, cuando ya has compilado tu proyecto y lo linkeaste (esto ltimo es necesario cuando trabajas con varios archivos) puedes ejecutarlo. Si logras con xito esta operacin, deberas ver una pantalla negra con letras blancas. Estas letras sern las letras que t imprimiste en pantalla usando la funcin printf(...). Si no usaste printf(...), no vers ms que la frase Press any key to continue, o en castellano, Pulse una tecla para continuar. Si usaste printf(...), vers todo lo que t imprimiste en pantalla seguido de dicha frase. Si Press any key to continue aparece en la pantalla, entonces el programa (la pantalla negra) se cerrar automticamente cuando presiones cualquier tecla. Los errores que te puedan aparecer cuando corres un programa se llaman errores en tiempo de ejecucin, y son el tipo de errores que hace que el programa se cierre. Tiran ese tpico mensaje The module on 0x0A2103... memory in 0x0334AB3... bla bla. Los errores que suceden cuando ejecutas el programa son, en general, mucho ms difciles de encontrar y resolver que los errores cuando compilas o linkeas, por lo que para eliminarlos debers usar la herramienta de depuracin del entorno de programacin. Si no la conoces o no la sabes usar muy bien, sigue con los pasos del manual. Para ejecutar un programa ya compilado (y linkeado, en el caso de trabajar con varios archivos) sigue los siguientes pasos: 1. Elige el men Build 2. Selecciona la opcin Execute [NOMBRE DE PROYECTO] 2.1 Si el programa corre perfectamente de principio a fin: Felicitaciones, has concluido tu programa. 2.2 . Si se cae en tiempo de ejecucin, debes empezar a usar el debugger (el depurador).
12
Para poder construir mi programa tengo que ir al men Build. Aqu se encuentran todas las opciones para crear mi programa. Analicmoslas ms en detalle:
Compile Nombre del Archivo.c -> Crea un archivo objeto, es decir traduce mi programa de C a un lenguaje de bajo nivel que usualmente se llama ensamblador. Build Nombre del Prjecto.exe -> Crea el ejecutable propiamente tal linkeando todas las dependencias que sean necesarias para llevar a cabo dicha operacin. Execute Nombre del Projecto.exe -> Ejecuta el programa creado. Notar que si yo no eh compilado ni en construido mi programa y lo ejecuto. Entonces Visual Studio le preguntara si desea crear el ejecutable para poder ejecutarlo.
13
14
Step Over: Pasa a la siguiente lnea sin entrar al cdigo de la funcin que est siendo llamada en ella. Si en esa lnea de cdigo ests llamando una de las funciones printf, scanf, u otras conocidas, o bien alguna funcin creada por ti que sabes que no va a fallar (porque ya la depuraste) entonces selecciona esta opcin. Step Into: Pasa a la siguiente lnea entrando a la funcin que en ella est siendo llamada. De esta manera, seguirs depurando posteriormente las instrucciones de la funcin a la que entraste hasta que todas sus instrucciones se acaben y vuelvas a donde estabas antes de usar este comando. Usa este comando si en la lnea que viene es llamada una funcin que no sabes si funciona bien o no. No la uses si es que viene una funcin que ya sabes que funciona bien (porque ya la depuraste o es una del tipo printf). Step Out: Este comando se salta a la siguiente instruccin despus de la cual se llam a la funcin que se est depurando ahora. Es decir, se sale de la funcin que se est depurando para pasar a la funcin que la llam. Usa este comando cuando caes en una funcin que sabes que trabaja bien o cuando usas equivocadamente el comando Step Into.
15
Seguimiento de variables
Antes de empezar la depuracin, debes saber que existe una ltima caracterstica del depurador que es muy til: El seguidor de variables. Esta herramienta despliega un cuadro que muestra los valores de todas las variables del programa o bien de las variables en la funcin que est siendo depurada actualmente. Despus de cada paso en que una variable cambia su valor, su nombre y su nuevo valor se marcan en rojo en la tabla. Te dars cuenta que, antes de inicializar cada variable, el cuadro muestra cualquier nmero. Esto es normal y ocurre por la forma en que son creadas las variables: el declarar una variable significa reservar un espacio en la memoria RAM, que puede o no estar limpio. Mientras no inicialices la variables, este espacio no se limpia de lo que pueda haber estado escrito ah antes, por lo que seguirs viendo un nmero extrao o que no corresponde al valor que t le quieras dar a la variable. Justo despus de inicializar la variable, este nmero pasa a tomar el valor que t le quieres dar (el que est escrito en el cdigo). Para mostrar el cuadro de seguimiento de variables, sigue los siguientes pasos: 1. Despliega el men de depuracin de la forma en que est explicado en el punto Los pasos de la depuracin. 2. Selecciona el comando variables, de este men (a la derecha de watch, el dibujo de la pgina y los anteojos) 3. Aparecer automticamente este cuadro. En tiempo de depuracin, debes seguir uno de los siguientes dos pasos: 3.1 Selecciona Auto abajo del cuadro de variables para mostrar todas las variables que estn siendo modificadas en el programa. 3.2 Selecciona Local para mostrar las variables de la funcin que est siendo depurada en este momento.
16
Iniciando la depuracin
Si ya leste el punto los pasos de la depuracin, puedes seguir con ste. Selecciona el men depuracin como sale en dicho punto. Recuerda hacer uso del seguimiento de variables si es que tu programa funciona pero reporta resultados errneos. Ahora, para empezar a depurar el programa, sigue estos pasos: 1. Si es que sabes que tu programa funciona bien hasta un punto y slo quieres depurar desde ese punto en adelante, debes hacer clic secundario en esa lnea y elegir la opcin Add Breakpoint. 1.1 Posteriormente, elige Run to Cursor, del men debug. 1.2 Puedes seguir desde este punto depurando con los comandos Step. 2. Si es que no has depurado nunca tu cdigo, elige el comando Step Into, para empezar a depurar desde la primera instruccin del main. 2.1 Desde este punto puedes seguir depurando con los comandos Step.
Deteniendo la depuracin
Cuando hayas terminado de depurar, puedes detener la depuracin para volver al modo de programacin. Para hacer esto, sigue estos pasos: 1. Selecciona el men Build 2. Selecciona la opcin Stop Debug 3. En este momento has vuelto al modo programacin.
17