herramientas visuales de compilación en clmengual/laboratorio_ip/herramientas... · luis mengual...

66
LUIS MENGUAL (c) Herramientas Visuales de Compilación en C

Upload: phamliem

Post on 01-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Herramientas Visuales de Compilación en C

Page 2: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Visual Studio 2010 (I)• Herramienta para implementar, ejecutar y compilar código

fuente en distintos lenguajes• Entorno visual amigable y flexible • Entorno de Depuración sencillo• Facilidad de incorporación de librerías y ficheros de

inclusión

Moderador
Notas de la presentación
Para la compilación y ejecución del código que se realizará a lo largo de este curso vamos a utilizar el entorno de programación de la Herramienta Visual Studio 2010. El entorno de programación en C/C++ Visual Studio de Microsoft proporciona una serie de elementos que ayudan enormemente al desarrollo de aplicaciones en C++ para Windows, desde la creación automática del esqueleto básico de la aplicación, hasta la inclusión de nuevas clases, atributos, métodos y gestores de mensajes.
Page 3: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Creación de un Proyecto

Moderador
Notas de la presentación
Los entornos Visuales de programación nos permiten fácilmente crear, abrir o editar un proyecto. Un proyecto es un conjunto de ficheros de código fuente y/o cabeceras que forman parte de la aplicación. Para la creación de un proyecto basta pulsar el botón “Nuevo/Proyecto”.
Page 4: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

“Aplicación de Consola win32”

Moderador
Notas de la presentación
El proyecto a crear puede tener distinta naturaleza. En primer lugar el entorno de programación Visual Studio 2010 permite la implementación de código fuente en distintos lenguajes; C++,Visual Basic, C#, J#, etc…. .. A su vez dentro de cada lenguaje podemos elegir distintas opciones de proyecto que tiene que ver con las librerías a incluir o con la plataforma hardware sobre la que se va a implementar el código fuente .. Así por ejemplo dentro del leguaje C++ podríamos construir un proyecto que incluyera las librerías MFC (Microsoft Foundation Classes), crear un proyecto para que funcione en una PDA (Personal Digital Assistant) o teléfono móvil (Smart Devices) o un simple proyecto que funcione en modo consola. Esta va a ser nuestra opción. Para ello seleccionamos lenguaje C++ “win32” , “Aplicación de Consola win32”… En el entorno Microsoft Visual Studio los proyectos se integran en soluciones. Es decir, una solución puede tener uno o varios proyectos. El menú también nos pide el nombre que queremos dar a nuestra solución. En nuestro caso será “Solucion_1”. Dentro de la solución debemos elegir el nombre del proyecto. En nuestro caso “Proyecto_1”.
Page 5: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Asistente aplicaciones Win32 (I)

Moderador
Notas de la presentación
El asistente de proyectos de aplicaciones W32 nos guiará en la creación del proyecto….
Page 6: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Asistente aplicaciones Win32 (II)

Moderador
Notas de la presentación
Entre las opciones del asistente de aplicaciones de Win32 elegimos un proyecto vacio….
Page 7: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Asistente aplicaciones Win32 (III)

Moderador
Notas de la presentación
Ya tenemos creado el esqueleto del proyecto.
Page 8: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Carpetas de la Solución/Proyecto

Moderador
Notas de la presentación
En la figura observamos las carpetas creadas. Nótese que tenemos un fichero con extensión “.sln”. Este fichero es el identificador de la solución. Basta pincharlo dos veces para poder abrir la solución completa. Dentro de la carpeta “Proyecto_1” tenemos asimismo un fichero con extensión “*.vcxproj” (Proyecto1.vcxproj) . Este fichero identifica al proyecto. Pinchando dos veces sobre este fichero podemos abrir el proyecto en cuestión.
Page 9: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Agregar Fichero Código Fuente (I)

Moderador
Notas de la presentación
Volvemos al entorno de Visual Studio para añadir un nuevo elemento que será el fichero (o los ficheros) con nuestro código fuente. Para ello invocamos las opciones “Agregar/Nuevo Elemento”.
Page 10: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Agregar Fichero Código Fuente (II)

Moderador
Notas de la presentación
Para incorporar al proyecto un fichero que va a contener nuestro código fuente elegimos la extensión *.cpp” (código/archivo c++).
Page 11: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Agregar Fichero Código Fuente (III)

Moderador
Notas de la presentación
Ya tenemos el fichero incorporado. El siguiente paso es introducir el código, compilar y ejecutar …..
Page 12: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

#include <stdio.h>

int main(int argc, char *argv[]) {

printf("********************************************** \n\n");printf("MI PRIMER PROGRAMA \n\n");printf("********************************************** \n\n\n\n");

printf("Hola Mundo !!! \n\n");

return 0; }

Código Fuente “Hola Mundo”

Moderador
Notas de la presentación
Vamos a escribir el siguiente código fuente. Sería nuestro primer proyecto creado con Visual Studio.
Page 13: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Generar Solución (I)

Moderador
Notas de la presentación
Vamos a compilar este proyecto pulsando en “Generar Solución” ….
Page 14: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Generar Solución (II)

Moderador
Notas de la presentación
….Si todo ha ido bien y no se han producido errores obtendremos el resultado que se refleja en la figura ….
Page 15: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Generar Solución (II)

Moderador
Notas de la presentación
Si observamos ahora el árbol de directorios de la solución/proyecto observamos que han aparecido dos nuevas subcarpetas de “Debug”. La subcarpeta “Debug” dentro de la subcarpeta “Proyecto_1” contiene distintos ficheros generados durante el proceso de compilación. La subcarpeta “Debug” del nivel superior dentro de la carpeta “Solución_1” contiene el fichero ejecutable. No obstante si intentáramos ejecutar el fichero “Proyecto1.exe” la ventana de consola se nos cerraría y no podríamos comprobar si nuestro ejecutable funciona. Este aspecto lo solucionaremos más adelante.
Page 16: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Depurar/Iniciar sin Depurar (I)

Moderador
Notas de la presentación
…Vamos ahora a compilar el proyecto y a la vez generar el ejecutable… Para ello pulsamos en la opción “Depurar/iniciar sin depurar”…
Page 17: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Depurar/Iniciar sin Depurar (II)

Moderador
Notas de la presentación
El menú nos pregunta si queremos generar la solución (compilación) …
Page 18: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Depurar/Iniciar sin Depurar (III)

Moderador
Notas de la presentación
Si la compilación no ha tenido errores se ejecuta el programa …. Desde el entorno de compilación la ventana de consola no se cierra y podemos ver la correcta ejecución del programa.
Page 19: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Creación de un Segundo Proyecto en La solución

Page 20: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Crear nuevo Proyecto en Solucion_1 (I)

Moderador
Notas de la presentación
Vamos a crear ahora un nuevo proyecto en la Solucion_1. Lo vamos a llamar Proyecto_2.
Page 21: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Crear nuevo Proyecto en Solucion_1 (II)

Moderador
Notas de la presentación
Nótese que elegimos “Agregar a Solución”……
Page 22: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Crear nuevo Proyecto en Solucion_1 (III)

Moderador
Notas de la presentación
Seguimos el mismo proceso que en el caso del proyecto_1.
Page 23: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Crear nuevo Proyecto en Solucion_1 (IV)

Moderador
Notas de la presentación
Elegimos como antes un proyecto vacio ….
Page 24: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Crear nuevo Proyecto en Solucion_1 (V)

Moderador
Notas de la presentación
Ya hemos creado el esqueleto del segundo proyecto dentro de nuestra solución. El “Proyecto_2” de momento no contiene ningún fichero fuente. Según se observa en la figura el “Proyecto_1” de la nuestra solución aparece resaltado en “negrita”. Esto significa que es el “proyecto de inicio” de nuestra solución. A continuación lo que vamos a hacer es convertir en proyecto de inicio al “Proyecto_2”.
Page 25: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Establecer Proyecto de Inicio (I)

Moderador
Notas de la presentación
Seleccionamos el “Proyecto_2” y con el botón derecho del ratón pulsamos la opción “Establecer como Proyecto de Inicio”…
Page 26: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Establecer Proyecto de Inicio (II)

Moderador
Notas de la presentación
Ahora ya tenemos activado el “Proyecto_2” como proyecto de inicio. Se nota que es el proyecto de inicio por estar resaltado en negrita el nombre del proyecto.
Page 27: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Agregar Fichero Código Fuente Proyecto_2 (I)

Moderador
Notas de la presentación
Ahora añadimos un fichero de código fuente que llamaremos “proyecto_2.cpp”.
Page 28: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Agregar Fichero Código Fuente Proyecto_2 (II)

Moderador
Notas de la presentación
Elegimos en el menú la opción “coóigo/archivo c++).
Page 29: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Árbol directorios Proyecto_2

Moderador
Notas de la presentación
Después de crear el Proyecto_2 dentro de la solución tenemos una nueva carpeta dentro del árbol de directorios de la solución. Dentro de la carpeta Proyecto_2 debería aparecer el fichero “Proyecto_2.cpp” inicialmente vacio.
Page 30: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Código fuente Proyecto_2

#include <stdio.h>

int main(int argc, char *argv[]) {

printf("********************************************** \n\n");printf("MI SEGUNDO PROGRAMA \n\n");printf("********************************************** \n\n\n\n");

char tecla[2];printf("Hola Mundo !!!\n\n\n");printf("INTRODUCIR UNA TECLA PARA SALIR: ");scanf("%s",&tecla);

return 0; }

Moderador
Notas de la presentación
Vamos a incorporar al Proyecto_2 el siguiente código fuente. Es esencialmente el mismo del Proyecto_1. Únicamente añadimos una parada al final del programa para evitar que se cierre la ventana de consola.
Page 31: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Compilación/Ejecución Proyecto_2 (I)

Moderador
Notas de la presentación
Pulsamos la opción de “Depurar/Iniciar sin Depurar” para compilar y ejecutar el proyecto …..
Page 32: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Compilación/Ejecución Proyecto_2 (II)

Moderador
Notas de la presentación
Ahora observamos la parada introducida en el código antes de que acabe…
Page 33: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Ejecución Proyecto_2 (I)

Moderador
Notas de la presentación
En la subcarpeta “debug” de primer nivel dentro de “Solución_1” tenemos los ejecutables de todos los proyectos de la solución.
Page 34: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Ejecución Proyecto_2 (II)

Moderador
Notas de la presentación
Ahora con el punto de parada establecido por código podemos ejecutar el programa pinchando dos veces sobre el ejecutable…. Si hiciéramos lo mismo sobre el fichero “proyecto_1.exe” no veríamos nada ya que el programa no tiene ningún punto de parada.
Page 35: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Creación de un Tercer Proyecto en La solución

Page 36: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Añadir Tercer Proyecto en Solución (I)

Moderador
Notas de la presentación
Vamos a crear un tercer proyecto sencillo dentro de la solución ….
Page 37: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Añadir Tercer Proyecto en Solución (II)

Moderador
Notas de la presentación
Seguimos los pasos vistos anteriormente ..
Page 38: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Creamos tercer Proyecto Vacío

Moderador
Notas de la presentación
Creamos el proyecto vacio ….
Page 39: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Establecer Proyecto Inicio

Moderador
Notas de la presentación
Situándonos sobre el “Proyecto_3” y con el botón derecho desplegamos un menú en el que seleccionamos este proyecto como proyecto de inicio de la solución.
Page 40: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Agregar Fichero Código Fuente Proyecto_3 (I)

Moderador
Notas de la presentación
Una vez más situándonos sobre el menú de archivos de código fuente, seleccionamos “Agregar Nuevo Elemento”.
Page 41: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Agregar Fichero Código Fuente Proyecto_3 (II)

Page 42: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Código Fuente Proyecto 3// Mi Tercer Programa

#include <stdio.h>

int main(int argc, char *argv[]) {

char tecla[2];printf("********************************************** \n\n");printf("PROGRAMA QUE OBTIENE LOS ARGUMENTOS DE ENTRADA \n\n", argc);printf("********************************************** \n\n\n\n");

printf("Numero de Argumentos: %d \n\n", argc);

for (int i=0; i<argc; i++) printf("Argumento %d: %s \n\n", i, argv[i]);

printf("INTRODUCIR UNA TECLA PARA SALIR: ");scanf("%s",&tecla);

return 0; }

Moderador
Notas de la presentación
Vamos a incorporar el código fuente de la figura en nuestro proyecto …
Page 43: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Compilación/Ejecución Proyecto_3 (I)

Moderador
Notas de la presentación
En la figura se observa el resultado de la ejecución del proyecto.
Page 44: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Compilación/Ejecución Proyecto_3 (II)

Moderador
Notas de la presentación
Podemos ir directamente a la carpeta donde está el ejecutable y probarlo … Nótese lo que hace el programa: recoge de línea de comandos los parámetros asociados al nombre del programa y los imprime…
Page 45: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Depuración de programas

Page 46: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

#include <stdio.h>#include <string.h>

struct InfoFich{

char Nombre[100];long Longitud;int Dia;int Mes;int Anyo;int IdSesion;

} ; struct InfoFich Lista[50];

int main(int argc, char *argv[]) {

char tecla[2];int i=0;

while (i < 10){

strcpy(Lista[i].Nombre,"MyFichero");Lista[i].Longitud=4; Lista[i].IdSesion=23; Lista[i].Dia=4; Lista[i].Mes=4; Lista[i].Anyo;i= i+1;

}

printf("INTRODUCIR UNA TECLA PARA SALIR: ");scanf("%s",&tecla);

}

Depuración de programas (I)

Moderador
Notas de la presentación
Las herramientas Visuales nos proporcionan la capacidad de depuración de programas facilitando la tarea del programador en la búsqueda de posibles errores de compilación. Vamos a describir como utilizar esta facilidad de la herramienta Visual Studio 2010 a través de un ejemplo de código fuente sencillo en el cual nos creamos una estructura “InfoFich” y a través de un bucle “while” escribimos en sus campos.
Page 47: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Depuración de programas (II)

Moderador
Notas de la presentación
Nos creamos un proyecto vacio como hemos hecho en los ejemplos anteriores y a continuación introducimos el código fuente. Para poder depurar el programa nos tenemos que asegurar que la configuración del proyecto es “Debug”. Para ello con el raton pinchamos en “Proyecto/Propiedades”
Page 48: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Depuración de programas (III)

Moderador
Notas de la presentación
En la figura tenemos el proyecto creado introduciendo el código fuente anterior. Antes de iniciar el proceso de depuración hay que situar los llamados “puntos de interrupción”. Esto se hace pinchando una vez con el ratón en la barra vertical indicada por la flecha. En este momento aparecerá un circulo de color rojo indicando el punto de interrupción elegido. Si ahora nos colocamos con el ratón encima del circulo rojo y pinchamos con el botón derecho podemos eliminar o deshabilitar el punto de interrupción….
Page 49: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Depuración de programas (IV)

Moderador
Notas de la presentación
Una vez elegido los Puntos de Interrupción podemos depurar el programa. Para ello, elegimos la opción “Depurar/Iniciar Depuracion”.
Page 50: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Depuración de programas (V)

Moderador
Notas de la presentación
Una vez que entramos en el “modo depuración” disponemos del menú que aparece en pantalla para ir ejecutando paso a paso nuestro programa. Para ello podemos elegir las teclas F10/F11. Podemos parar la depuración con la opción “Detener Depuración”
Page 51: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Depuración de programas (VI)

Moderador
Notas de la presentación
En modo depuración podemos acceder a los contenidos de las variables o estructura de forma sencilla permitiendo la localización rápida de potenciales errores del código.
Page 52: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Otras Facilidades

Localización Línea Código

Page 53: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Localización Línea Código

Moderador
Notas de la presentación
Si tenemos un código fuente con una cantidad considerable de líneas de código podemos perder mucho tiempo buscando las líneas de código de nuestro interés. Un facilidad de gran utilidad en Visual Studio es la posibilidad de marcar una línea. Esto se hace con la a combinación de teclas Ctrl+F2. Una vez marcada una línea podemos ir cientos de líneas más lejos con el “scroll” y una vez allí simplemente pulsando la tecla F2 podemos retornar a la línea marcada anteriormente. Podemos marcar varias líneas e ir saltado por el código desde una línea marcada a otra línea marcada saltándonos el resto del código.
Page 54: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Manejo de la Ayuda

Page 55: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Manejo de la Ayuda (I)

Moderador
Notas de la presentación
En la figura se indica como invocar la ayuda de la Herramienta Visual Studio 2010. para ello pulsamos el botón “ Ayuda/Buscar “..
Page 56: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Manejo de la Ayuda (II)

Moderador
Notas de la presentación
La ayuda es esencial a la hora de programar bien sea para encontrar una función, los parámetros de una función o para encontrar código fuente que se ajuste a nuestras necesidades. La ayuda de Visual Studio 2010 nos lleva al enlace: http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ES-ES&k=k(MSDNSTART)&rd=true En este enlace podemos realizar nuestra consulta En la figura proponemos a los alumnos introduzcan en el motor de búsqueda la frase “Windows Sockets 2”.
Page 57: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Manejo de la Ayuda (III)

Moderador
Notas de la presentación
Marcamos la opción de incluir los resultados en Ingles y seleccionamos el primer enlace: Windows Sockets 2 (Windows) Windows Sockets 2 (Winsock) enables programmers to create advanced Internet, intranet, and other network-capable applications to transmit application data ... http://msdn.microsoft.com/en-us/library/ms740673(v=vs.85).aspx
Page 58: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Manejo de la Ayuda (III)

Moderador
Notas de la presentación
Ahora podemos disponer de todas las funciones y parámetros necesarios de la programación con la interfaz Windows Sockets en cualquier plataforma Windows y extrapolable a la interfaz Sockets de Berkeley en plataformas Unix.
Page 59: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Ayuda Windows Sockets 2 (I)

Moderador
Notas de la presentación
Esta ayuda Windows Sockets 2 nos será de gran utilidad para la siguiente Unidad Docente en la que aprenderemos a construir software de comunicaciones.
Page 60: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Ayuda Windows Sockets 2 (II)

Moderador
Notas de la presentación
Pinchando el enlace “Winsock Reference” llegamos a la siguiente página …
Page 61: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Ayuda Windows Sockets 2 (III)

Moderador
Notas de la presentación
Si desde esta página pinchamos el enlace “Winsock Functions” pasamos a la siguiente página………
Page 62: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Ayuda Windows Sockets 2 (IV)

Moderador
Notas de la presentación
En esta página finalmente encontramos la descripción de la funciones del interfaz de programación de “Windows Sockets”. Esta ayuda nos permite conocer los parámetros de esta funciones, valores de retorno, códigos de error y ejemplos de uso.
Page 63: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Incluir librerías de sockets a un proyecto Visual Studio

Page 64: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Inclusión de la librerías de sockets (ws2_32.lib) (I)

Moderador
Notas de la presentación
Partimos de un proyecto win32 vacio de consola creado como ya hemos hecho. Seleccionamos el nombre del proyecto según se indica en la figura. A continuación con el botón derecho del ratón elegimos propiedades ….
Page 65: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Inclusión de la librerías de sockets (ws2_32.lib) (II)

Moderador
Notas de la presentación
Dentro de las propiedades del proyecto elegimos la opción “Vinculador/Entrada” ….
Page 66: Herramientas Visuales de Compilación en Clmengual/LABORATORIO_IP/HERRAMIENTAS... · LUIS MENGUAL (c) “Aplicación de Consola win32” El proyecto a crear puede tener distinta naturaleza

LUIS MENGUAL (c)

Inclusión de la librerías de sockets (ws2_32.lib) (III)

Moderador
Notas de la presentación
En la opción “Dependencias Adicionales” escribimos “ws2_32.lib” como indica la figura ….y pinchamos el botón “Aceptar” Ahora falta Incluir en el código fuente : #include <winsock2.h> De esta forma ya podemos construir aplicaciones con las funciones del API de “Windows sockets”