Sunteți pe pagina 1din 13

UNIVERSIDAD DE OVIEDO

Departamento de Ingeniera Elctrica,


Electrnica, de Computadores y Sistemas

Pasos para Realizar un Programa de lenguaje C en modo


Consola en Visual Studio 2008
Ignacio Alvarez Garca Septiembre 2012

INDICE
1.

Preparar el proyecto para el programa ...................................................................... 1


1.1. Abrir Visual Studio 2008 ................................................................................... 1
1.2. Crear nuevo proyecto: ........................................................................................ 1
1.3. Seleccionar tipo de proyecto .............................................................................. 1
1.4. Presionar Siguiente ............................................................................................ 2
1.5. Seleccionar configuracin de la aplicacin........................................................ 2
1.6. Aadir archivo de cdigo fuente ........................................................................ 3
1.7. Establecer configuracin detallada para compilacin........................................ 5
2. Escribir el cdigo del programa................................................................................ 6
3. Compilar y enlazar.................................................................................................... 7
3.1. Errores ms tpicos de compilacin ................................................................... 7
3.2. Advertencias (warning) ms tpicas en compilacin ......................................... 7
3.3. Errores ms tpicos de enlazado (link) ............................................................... 8
4. Ejecutar el programa ................................................................................................. 9
4.1. Depuracin de errores en ejecucin ................................................................... 9
4.2. Parada abrupta del programa ante error de ejecucin ...................................... 11
5. Ayuda en lnea ........................................................................................................ 12

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

1. Preparar el proyecto para el programa


1.1.

Abrir Visual Studio 2008

1.2.

Crear nuevo proyecto:

En Visual Studio, seleccionar Archivo -> Nuevo -> Proyecto

1.3.

Seleccionar tipo de proyecto

En el dilogo que aparece, seleccionar tipo de proyecto Visual C++ / Win32 / Aplicacin
de consola Win32, elegir nombre y ubicacin, y pulsar Aceptar:

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-1

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

1.4.

Presionar Siguiente

En la siguiente pantalla no hay nada que configurar.

1.5.

Seleccionar configuracin de la aplicacin

En la configuracin, quitar Encabezado Precompilado, y seleccionar Proyecto Vaco.


Pulsar Finalizar:

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-2

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

1.6.

Aadir archivo de cdigo fuente

Seleccionar el proyecto en la nueva ventana creada a la izquierda, pulsar con el botn


derecho sobre el mismo para abrir men contextual, y ah seleccionar Agregar -> Nuevo
Elemento.

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-3

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

En la ventana que aparece, elegir VisualC++/Cdigo/Archivo C++(.cpp), y dar nombre al


archivo de cdigo fuente (ojo! poner extensin .c al archivo). Pulsar Agregar:

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-4

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

1.7.

Establecer configuracin detallada para compilacin

Primero, seleccionar Proyecto ->Propiedades

Seleccionar Propiedades de Configuracin/General/Valores predeterminados de


proyecto/Juego de caracteres. Escoger Utilizar juego de caracteres multibyte y pulsar
Aceptar.

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-5

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

2. Escribir el cdigo del programa


En la ventana de edicin del archivo creado, escribir el cdigo fuente correspondiente,
prestando atencin a la correcta sintaxis y estructurando los bloques en columnas de
forma que el cdigo sea fcilmente legible.
Las palabras clave de C aparecern en color azul.
Los comentarios (texto que no se compila) aparecern en verde.
Las cadenas de texto aparecern en color rojo.
Ejemplo:
#include <stdio.h>
#include <stdlib.h>
#define TAM_TABLA 5
int Factorial(int n)
// Funcin Factorial(). Calcula el factorial de un n entero
// Parmetros de entrada:
// n (int): entero del que queremos calcular el factorial
// Valor devuelto:
// (int): entero con el valor del factorial
{
int i,result;
for (i=1,result=1;i<n;i++)
result=result*i;
return result;
}
main()
// Programa principal
{
int i;
int x[TAM_TABLA],fact[TAM_TABLA];
for (i=0;i<TAM_TABLA;i++)
{
printf("Introduzca x[%d] = ",i);
scanf("%d",&x[i]);
fact[i]=Factorial(x[i]);
printf("El factorial de %d es %d",x[i],fact[i]);
}
}

Una vez escrito y comprobado el cdigo, salvar el archivo. En caso de archivos grandes,
se debe salvar a intervalos regulares para evitar prdida de informacin en caso de fallo
en el ordenador o la alimentacin.

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-6

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

3. Compilar y enlazar
Tras la creacin del cdigo, usar la opcin de men Generar -> Generar Solucin [F7].
Comprobar que no se producen errores en las ventanas de Resultados o Lista de Errores
(para activar esta ltima, seleccionar en el men Ver -> Otras ventanas -> Lista de
Errores).
Para todos los errores, en la ventana indicar el archivo y la lnea de cdigo donde se
detect. Haciendo doble-click sobre el error, nos lleva automticamente a su posicin en
la ventana de edicin.
ATENCION! El compilador no sabe lo que pretendamos escribir, slo es capaz de
detectar que el texto no cumple la sintaxis y las reglas del lenguaje C. No siempre el
texto y la posicin del error indican exactamente lo que se debe corregir.
3.1.

Errores ms tpicos de compilacin

Errores de sintaxis: falta de ; al final de una sentencia, apertura y cierre


descompensado de parntesis, corchetes, comillas, etc.
Error 1
error C2146: error de sintaxis : falta ';' delante del identificador 'fact'
Nombre de variable o palabra clave incorrecto. Recordar que el compilador
distingue maysculas de minsculas. Ejemplo:
result=resul*i;

Error 1

// Falta la t en el 2 result

error C2065: 'resul' : identificador no declarado

Utilizacin incorrecta de un operador (falta de operandos, operandos de tipo


inadecuado, etc.). Ejemplo:
int x,z;
z=x*2+;

Error 1

3.2.

// Falta 2 operando para el +

error C2059: error de sintaxis : ';'

Advertencias (warning) ms tpicas en compilacin

Advertencia general sobre funciones inseguras de la librera estndar:


Advertencia 1
warning C4996: 'scanf': This function or variable may be unsafe
Para evitar esta advertencia, aadir al principio del cdigo la lnea:
#pragma warning(disable:4996)

Declaracin de una variable que no se utiliza despus en el cdigo:


int z; // Ninguna instruccin hace despus referencia a z

Advertencia

warning C4101: 'z' : variable local sin referencia

Uso de una variable sin inicializar. Ejemplo:


int x,y;
x=y+2;

Advertencia

// al no dar antes valor a y, no se sabe lo


// que valdr x tras ejecutar la instruccin

warning C4700: se utiliz la variable local 'i' sin inicializar

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-7

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

3.3.

Errores ms tpicos de enlazado (link)

Falta de funcin main()


Error 1
error LNK2019: smbolo externo _main sin resolver al que se hace
Nombre de funcin incorrecto. Recordar que el compilador distingue
maysculas de minsculas. Ejemplo:
fact[i]=factorial(x[i]); // La funcin est definida como
// Factorial() F mayscula

Advertencia
Error 2

warning C4013: 'factorial' sin definir; se supone que extern


error LNK2019: smbolo externo _factorial sin resolver

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-8

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

4. Ejecutar el programa
Probar la ejecucin del programa mediante la seleccin de la opcin de men Depurar > Iniciar depuracin [F5].
En ese momento se desplegar una nueva ventana, en modo consola, en la que
aparecer el resultado de la ejecucin programa. Esta nueva ventana se cierra
inmediatamente al terminar el programa, por lo que se sugiere aadir las siguientes
instrucciones al final de la funcin main() para evitar que el programa se cierre tan
rpido que no d tiempo a visualizar todos los resultados:
#include <stdio.h>
#include <stdlib.h>
... Declaraciones y funciones ...
main()
// Programa principal
{
... Contenidos del programa ...
fflush(stdin);
getchar();
// Espera la pulsacin de INTRO para terminar
}

4.1.

Depuracin de errores en ejecucin

El hecho de que un programa compile correctamente no implica que haga lo que se


espera. En caso de que la ejecucin no se corresponda con lo esperado, es necesario
Depurar, esto es, buscar los errores de ejecucin. Las herramientas disponibles para ello
son:
Ejecucin paso a paso (step over). Seleccionar men Depurar -> Paso a paso por
procedimientos [F10]. La ejecucin se detiene tras la ejecucin de cada lnea de
cdigo.
Ejecucin paso a paso (step into). Seleccionar men Depurar -> Paso a paso por
instrucciones [F11]. La ejecucin se detiene tras la ejecucin de cada lnea de
cdigo, pero saltar a la ejecucin interna de una funcin que sea llamada en esa
lnea.
Ejecucin hasta punto de interrupcin (breakpoint). Seleccionar la lnea de
cdigo donde queremos que se detenga la ejecucin, y seleccionar Depurar ->
Alternar puntos de interrupcin [F9]. Aparecer un crculo rojo a la izquierda de
la lnea; al pulsar la opcin de men Depurar -> Iniciar depuracin [F5], la
ejecucin ser continua hasta la llegada a ese punto, en cuyo momento se
detendr y se podr continuar paso a paso o hasta el siguiente punto de
interrupcin. El punto de interrupcin se quita volviendo a seleccionar Depurar > Alternar puntos de interrupcin [F9].
Visualizacin de variables. Cuando la ejecucin est detenida (paso a paso o
punto de interrupcin), aparece una nueva ventana Inspeccin en la zona inferior
izquierda. En esta ventana se puede visualizar el valor de variables, o incluso
cambiar su contenido.

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-9

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

o En la pestaa Automtico, el depurador selecciona qu variables son ms


interesantes (aqullas involucradas en la ltima instruccin ejecutada y
en la siguiente).
o En la pestaa Variables Locales, se visualizan todas las variables locales
y parmetros de la funcin en ejecucin.
o En la pestaa Inspeccin 1, se pueden introducir nombres de variables o
expresiones sencillas para visualizar.
o En todas ellas, haciendo doble-click sobre el valor, se puede modificar.
o En todas ellas, los valores modificados por la ltima instruccin son
resaltados en rojo.
Visualizacin de pila de llamadas. Cuando la ejecucin est detenida (paso a
paso o punto de interrupcin), aparece una nueva ventana Pila de llamadas en la
zona inferior derecha, en la cual se puede comprobar el estado de la pila (stack)
hasta el punto de ejecucin actual, y tambin seleccionar el contexto de pila
(variables locales, parmetros) de la funcin que se quiere visualizar.

Puntos de interrupcin condicionales. En modo depuracin, la ventana Puntos


de interrupcin en la zona inferior derecha de la pantalla permite habilitar,
inhabilitar y borrar puntos de interrupcin. Adicionalmente, se puede seleccionar
un punto de interrupcin con el botn derecho del ratn y hacerlo condicional,
esto es, que slo se detenga la ejecucin cuando se cumpla una determinada
condicin (valor de variable, n de pasadas/visitas por ese punto).

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-10

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

4.2.

Parada abrupta del programa ante error de ejecucin

En algunas ocasiones, alguna de las instrucciones del programa no puede ser ejecutada
porque violara la seguridad o excede las posibilidades del computador, siendo la ms
tpica el acceso a una posicin de memoria invlida.
En estos casos, aparecer un aviso como el que sigue:

Se deber pulsar la opcin Interrumpir, y a continuacin acudir a la pila de llamadas


para buscar la primera funcin (desde arriba) que forme parte de nuestro cdigo.
Ejemplo:

Haciendo doble-click sobre la misma nos llevar a la lnea de cdigo fuente que ha
provocado esta excepcin, y en las ventanas de inspeccin de variables se podr
comprobar cul ha sido su causa.
ATENCION ! En ciertas ocasiones, el error puede provocar daos en la pila de
llamadas que hagan imposible al depurador localizar la funcin que se estaba
ejecutando. En estos casos, la nica solucin es la depuracin paso a paso hasta
encontrar la instruccin que produce la excepcin.

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-11

UNIVERSIDAD DE OVIEDO
Departamento de Ingeniera Elctrica,
Electrnica, de Computadores y Sistemas

5. Ayuda en lnea
Para obtener ayuda sobre una determinada palabra clave o funcin de la librera
estndar, pulsar F1 y a continuacin buscarla en la ventana de ayuda (botones Buscar,
Indice, Contenido, etc.).

Es necesario haber instalado la ayuda tras la instalacin del programa Visual Studio. En
caso de no disponer de la misma, se puede buscar en cualquier portal de Internet con las
palabras clave MSDN + texto a buscar.

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008

Pg-12

S-ar putea să vă placă și