CATEGORII DOCUMENTE |
Bulgara | Ceha slovaca | Croata | Engleza | Estona | Finlandeza | Franceza |
Germana | Italiana | Letona | Lituaniana | Maghiara | Olandeza | Poloneza |
Sarba | Slovena | Spaniola | Suedeza | Turca | Ucraineana |
DOCUMENTE SIMILARE |
|
Manual de Dev C++
Introducción
Dev-C++ é un Entorno de Desenrolo Integrado (IDE) para as linguaxes de Programación C e C++ que Mingw de GCC (GNU Compiler Collection) como Compilador e permite crear:
Dev-C++ é software de libre distribución suxeito a os termos da Licencia Pública General (GPL).
A versión para a que se redactou este manual é a 4.9.9.2
Interfaz de Dev-C++
Cando se executa por primeira vez, existen varias opcións como: idioma de instalación, aspecto externo da interface e métodos dispoÑibles nas librerías estándar de C e C++.
Unha vez que están configuradas estas opcións, ao executar por primeira vez Dev-C++, atópase un entorno de traballo similar ao seguinte:
Dende este entorno está permitido abrir, modificar e gardar tanto proxectos como ficheiros desenrolados en C e C++.
Pódense identificar 4 áreas principais:
No explorador de proxectos e clases (Opción Ver-> Explorador de Proyectos) que aparece na columna esquerda, aparece tanto a estructura do proxecto como a das clases e os seus métodos denidos nos nosos ficheiros. Nela aparecerán tanto o proxecto principal como os ficheiros do mesmo que se atopan abertos nun momento determinado. Unha das grandes restriccions deste entorno é que somentes permite ter un proxecto aberto. Se se quere traballar en varios proxectos á vez, tense que abrir tantas veces o IDE como proxectos se queiran xestionar.
O espacio central do entorno de traballo está reservado para mostralos ficheiros en C ou C++ cos que estamos traballando.
A parte inferior da interface gráfica (Opcion Ver-> Explorador de Prioyectos) é a que usa o programa para devolvelos resultados da compilación e depuracion dos proxectos.
Creación dun novo proxecto
Unha vez dentro da aplicación, a forma de actuar é a seguinte:
Archivo->Nuevo->Proyecto
Tras realizar esta operación, obtense o seguinte cadro de diálogo, no cal temos que escoller o tipo de proxecto que queremos crear, e si é con C ou C++.
Na pestana Basic atopámonos con 5 opcións:
Windows Application: para crear aplicacións para Windows.
Console Appliaction: para crear aplicacións que abren unha consola de MS-DOS ao remate da súa execución.
Static Library: creación dunha librería estática (ficheiro .a).
DLL: para crear DLL´s en C ou C++(Dynamic Link Library, Biblioteca de vínculos dinámicos).
Empty Project: para proxectos nos que o programador define completamente.
No campo Nombre del Proyecto podemos elixila denominación do noso proxecto. Si no o facemos, Dev-C++ asignaralle un nome automáticamente.
Existen algunhas opcións adicionais nas pestanas da ventá que non trataremos polo de agora.
Con todas as accións anteriores créase un novo proxecto que inicialmente estará formado polas ferramentas que considera Dev-C++ básicas para crealo tipo de proxecto que eliximos.
Por exemplo, no caso de que creemos un proxecto chamado AprendoC, que sexa do tipo Console Application e en C, corresponderíanlle as seguintes capturas:
O proxecto que xera Dev-C++ terá o seguinte aspecto:
Como vemos Dev-C++ creo un proxecto con nome AprendoC e por defecto aÑadiulle un ficheiro main.c con información básica para crear unha aplicación que traballe a través da consola.
Modificación de proxectos
Unha vez qe definimos o proxecto, o entorno posee multitude de ferramentas que permiten modificalo mesmo. As máis destacables son as que nos permiten engadir novos ficheiros ou ficheiros xa existentes ao noso proxecto, así como quitar ficheiros ou modificalas propiedades do proxecto. Estas opcións poden se cambiadas co rato na ventá de Explorador de Proyectos/Clases:
Ou tamén dende a pestana Proyecto da ventá do Dev-C++, na opción Nuevo Codigo Fuente:
Os diversos comandos que aparecen na pestana permítenos:
Nuevo Código Fuente: Engadir un ficheiro novo (en blanco) ao noso proxecto.
AÑadir a Proyecto: Engadir un ficheiro realizado con anterioridade, en C ou C++, a o noso proxecto.
Quitar del Proyecto: Permite eliminar un ficheiro do noso proxecto, pero non o borra fisicamente.
Opciones del Proyecto: Aquí pódense modificar varias opcións, como o nome do proxecto, o seu tipo, engadir novos directorios ao mesmo, instruccións ao compilador, etc.
Grabar un proyecto:
Para realizalo, a opción que temos que utilizar é, Archivo -> Guardar Proyecto como que nos permite gardar un proxecto, incluso cambiándolle o nome. Ó mismo tempo, Dev-C++ ofreceranola opción de grabar todos aqueles ficheiros que pertencen ó mesmo e que foron modificados.
Gabalos ficheiros dun proxecto
Do mesmo xeito, pódense garda-los distintos ficheiros que forman parte dun proxecto por medio da opción Archivo->Guardar, mentres algún dos ficheiros este seleccionado.
O comando Archivo -> Guardar como, permite modificalo nome do archivo ó tempo que o salva.
O comando Archivo -> Guardar Todo, salva tódolos ficheiros que foran modificados durante a nosa sesión de traballo.
Compilacion e execución de proxectos
Unha vez que xeramos un proxecto e salvamo-lo mesmo, o seguinte paso é intentar compilalo e executalo. O sistema de compilación que usa Dev-C++ (por defecto) é MinGW, que consiste nun conxunto de ferramentas incluíndo os compiladores gcc e g++, así como un sistema de cabeceiras e librerias que permiten crear aplicacions para Windows que non requiran de DLL`s externas.
Cando se crea un proxecto ou se modifican as suas propiedades, pódese definir si un proxecto vai ser desenrolado en C ou en C++ e de esa forma Dev-C++ decide si ten que aplicalo compilador presente en MinGW para C (gcc) ou o de C++ (g++), así como as ordes de “linkado” do mesmo; po lo tanto, á hora de executar, todo o que temos que facer é activala opción Ejecutar->Compilar, como se observa na seguinte imaxe:
Ou directamente dirixirnos ao icono de acceso rápido na barra de ferramentas Compilar y Ejecutar.
En Dev-C++ o proceso de compilación e “linkado” trátanse como si foran só un e o programador non pode intervir durante o mesmo.
Si o resultado da compilación e o “linkado” é satisfactorio, Dev-C++ xerará un ficheiro executable co nome do proxecto activo.
No caso contrario, a pestana Resultado de la compilación desplegarase mostrando os fallos que se atoparon no proceso de compilación e “linkado”.
Si o proxecto foi compilado satisfactoriamente, Dev-C++ xenerará varios ficheiros auxiliares na mesma carpeta na que se atopan o proxecto e os seus ficheiros. Por exemplo, por cada ficheiros fonte de código C ou C++, a compilación xenera un ficheiro co mesmo nome e extensión “.o”, un ficheiro obxecto, que posteriormente é linkado, xunto coas librerías necesarias para crealo ficheiro executable.
Este executable (.exe) pode ser usado independientemente dos ficheiros do proxecto. Tamén se pode executar dende a pestana, Ejecutar->Ejecutar, como se mostra a continuación:
Ou tamén por medio do botón da barra de ferramentas Compilar y Ejecutar.
Outras ferramentas
Dev-C++ ofrece outras muitas opcións ó usuario nos distintos menús, do estilo das que se poden atopar en calquera IDE, como o menú Edicion, que ten as opcions xenéricas de Cortar, Copiar, etc.
O menú Buscar permite facer búsquedas dentro dos ficheiros dos nosos proxectos. No menú Ver permitesenos modificalas barras de ferramentas visibles no entorno de traballo. En Herramientas podemos modificar algunhas das opcions referentes ao compilador ou a interface de usuario.
Tamén temos o menu Ayuda, que cubre incluso a STL de C++ e que nos vai a ser de utilidade.
Aquí temo-os menús cos típicos comandos de Windows (abrir, gardar, copiar e pegar…) Tamén temos unha serie de iconos nas barras de ferramientas que non son máis ca unha parte das opcións que temos nos menús, pódese deixalo rato encima dun icono durante uns segundos e aparecerá unha axuda emergente explicando o que se executa cuando se fai clic sobre a figura.
En función da pestana que seleccionemos, terase acceso a:
a) Explorador de proxectos, que mostra os ficheiros polos que está formado o proxecto, sexan de código, de encabezados ou de recursos.
b) Explorador de clases, é unha das funciones máis útiles. Tamén se verá una lista das funcións globais que temos no proxecto, tamén cos seus argumentos. Pulsando doble clic nun método, función ou clase, iráse directamente ó ficheiro e líÑa onde se definiu.
c) Información de depuración, aquí poderemos defini-las variables que queiramos cuando estemos depurando un programa.
Aquí aparecerán os Ficheiros de código que se abran. Pódense ter abertos máis de un Ficheiro simultáneamente e seleccionalo por medio do menú Window
En ésta serie de pestaÑas se encuentra información acerca del proceso de compilación. Cuando se selecciona una pestaÑa se expandirá para mostrarnos los resultados.
En la pestaÑa “compiler” (compilador) se ven los errores y advertencias que ha generado la compilación de nuestro código (si los hubiera), pulsando doble clic en uno de ellos se remite directamente a la línea que provocó dicho error o advertencia. También se generan avisos.
También existen otras pestaÑas, con propósitos más específicos, “linker”, informa acerca de la correcta referencia de las librerías con el código que hemos creado. “resource”, indica posibles advertencias acerca de otros recursos invocados en las líneas de código de nuestro programa, y “Compile Log”, informa acerca de diferentes mensajes que produzca la herramienta de compilación. En muy raras ocasiones hay mensajes el las pestaÑas “linker”, “resource”, sin embargo, cuando aparecen estos son muy importantes.
Permite realizar operaciones con ficheros y salir del programa:
|
Nuevo proyecto Nueva plantilla Abrir proyecto existente o Archivo Abrir archivos recientes Fichero nuevo Nuevo recurso Guardar Guardar con otro nombre Guardar todos los Archivos abiertos Cerrar proyecto Cerrar ventana actual Exportar a HTML o RTF (Word) Imprimir Setup impresora Salir del Programa |
Acciones que se pueden realizar para las tareas de edición de texto.
|
Deshacer Rehacer Cortar Copiar Pegar Insertar Insertar una marca Ir a una marca Seleccionar todo el contenido de la ventana |
Para hacer búsquedas en el texto
|
Buscar Buscar la siguiente aparición Buscar y reemplazar Ir a la línea número. . . |
En este menú se pueden gestionar los elementos que pertenecen a un proyecto
|
Nuevo proyecto Nuevo elemento al proyecto (adicionar archivo) Eliminar archivo del proyecto Abrir un archivo para editar Generar un archivo “make” Opciones del proyecto. |
En este menú encuentra las herramientas necesarias para generar los archivos ejecutables de un proyecto. Lo correspondiente al uso de estas opciones se aclarará en el numeral 7.
|
Compilar (generar un programa) Correr el programa Compilar y correr Reconstruir todo Depurar |
|
Opciones del compilador Opciones de ambiente Estilo visual de iconos. |
|
Muestra la ventana de resultado de compilación Herramientas para configurar Dev C++ Muestra la línea de comandos del DOS Activa el Explorador de Windows Control de grupos de archivos Creador de archivos de instalación. |
|
Ordena las ventanas por mosaico Ordena las ventanas en cascada Cerrar toas las ventanas Minimizar todas las ventanas Modo pantalla completa Siguiente ventana Ventana anterior
Muestra las ventanas activas |
Antes de construir un programa, es importante definir el nombre del proyecto, es aconsejable que este no supere los 8 caracteres, y que este describa o de una idea de aquello que pretende hacer.
En Dev-C++, hay diferencias entre utilizar: “New project” (iniciar un proyecto), o “New Source file” (iniciar archivo con código fuente). El primero hace referencia a la creación de uno o varios archivos que hacen parte de uno o varios programas. El segundo, inicia un solo archivo de código C++, incluyendo en éste un código básico, como plantilla de programa.
En su totalidad, el curso de programación, está diseÑado para ser trabajado con “ New Source file” (iniciar archivo con código fuente), por lo tanto, una vez iniciado el programa, se selecciona en el menú, “File” la opción “ New Source file” o de otra forma, basta oprimir simultáneamente las teclas Ctrl y u. Hecho esto, debe aparecer en el área de edición, el siguiente texto:
#include <iostream.h>
#include <stdlib.h>
int main()
El cual es útil para iniciar a trabajar, pues proporciona el uso de unas librerías básicas (#include <iostream.h> y #include <stdlib.h>), establece el inicio y final de programa (int main(), da la opción de que al terminar el programa permita visualizar las salidas (system (“PAUSE”);) y devolver el control al sistema retornando 0 (return 0). Se debe incluir después del corchete
system('PAUSE'
Para convertir este código o cualquiera otro, en un programa ejecutable, se utilizan las herramientas de ejecución del programa: “menú execute”
|
Compilar (generar un programa) Correr el programa Compilar y correr Reconstruir todo Depurar |
El proceso de compilación se hace por medio de la opción “Compile”. Utilizando la opción “Run”, se ejecuta la última compilación efectuada al código.
La opción “Compile and Run”, hace consecutivamente las acciones de compilar y de correr el programa.
La opción “Rebuild all” sirve para volver a compilar todos los archivos de un proyecto, se usa para compilar más de un archivo, y tiene el mismo efecto de la opción “Compile”.
Es posible insertar fracciones de código de frecuente uso, por medio de la opción INSERT del “Menu Edit”, pues coloca en el editor estructuras completas del lenguaje, impidiendo que se omitan detalles que impiden la buena ejecución del programa.
Por Ejemplo, es recomendable iniciar a trabajar insertando “Comment header” que coloca en el punto donde se tenga el cursor sobre el editor, el siguiente código:
Por Ejemplo, es recomendable iniciar a trabajar insertando “Comment header” que presenta el siguiente código:
Name:
Author:
Description:
Date:
Copyright:
Otro ejemplo, el resultado de insertar “for ()”, da como resultado:
for()
Se debe tener mucho cuidado, ya que como es posible ver, no se insertan todos los elementos básicos de la sentencia for, como por ejemplo el par de puntos y comas (;) necesarios para dividir los paramentos de entrada a esa sentencia.
Olvidar terminar un comentario con */ |
|
Incorrecto |
Correcto |
#include <iostream.h> #include <stdlib.h> int main()
|
#include <iostream.h> #include <stdlib.h> int main() |
Si cuando escribe, nota que el texto no adquiere los formatos adecuados, muy posiblemente olvidó cerrar el comentario con los caracteres */ |
Uso de letras mayúsculas cuando no es útil |
||||
Incorrecto |
Correcto |
|||
#include <iostream.h> #include <stdlib.h>
int Main() |
#include <iostream.h> #include <stdlib.h> int main() |
|||
No es evidente a simple vista, si se ignora el sentido de la instrucción, pero al momento de compilar (F9) muestra un resultado que indica la falta de una función o instrucción. El siguiere es el mensaje es mostrado en la ventana “Compiler and linker output” : E:DEV-C_~1Liblibmingw32.a(main.o)(.text+0x8e): undefined reference to `WinMain@16' |
Olvidar las dobles comillas de un texto o cadena de control. |
|
Incorrecto |
Correcto |
#include <iostream.h> #include <stdlib.h> int main() |
#include <iostream.h> #include <stdlib.h> int main() |
Este problema ocasiona múltiples errores al momento de crear un ejecutable. El siguiere es el mensaje es mostrado en la ventana “Compiler and linker output” : (nota, en este ejemplo el nombre del archivo es err3.cpp)
Identifica la función en donde está el error (mensaje 1) muestran la palabra ´Hola´ como algo no declarado (desconocido para el computador) (mensaje 3) El número 7 indica la línea del código donde está el error. |
Olvidar el signo ; después de cada instrucción. |
|
Incorrecto |
Correcto |
#include <iostream.h> #include <stdlib.h> int main() |
#include <iostream.h> #include <stdlib.h> int main() |
Este inconveniente no indica en cual línea de código está el error, ya que generalmente indica la siguiente línea. El siguiere es el mensaje es mostrado en la ventana “Compiler and linker output” : (Nota, en este ejemplo el nombre del archivo es ejemp_4.cpp)
En este ejemplo, hace falta terminar la instrucción 7 con ; sin embargo la segunda línea del mensaje de salida indica que está en la línea numero 8. |
Cambiar el signo ; por , después de alguna sentencia |
|
Incorrecto |
Correcto |
#include <iostream.h> #include <stdlib.h> int main() |
#include <iostream.h> #include <stdlib.h> int main() |
Este inconveniente no indica en cual línea de código está el error, ya que generalmente indica la siguiente línea. El siguiere es el mensaje es mostrado en la ventana “Compiler and linker output” : (Nota, en este ejemplo el nombre del archivo es ejemp_5.cpp) c:errejemp_5.cpp: In function `int main()': c:errejemp_5.cpp:9: parse error before `return' En este ejemplo, hace falta terminar la instrucción 8 con ; sin embargo la segunda línea del mensaje de salida indica que está en la línea numero 9. |
Olvidar colocar llaves en una sentencia compuesta(aplica para las sentencias for, if, do, switch) |
|
Incorrecto |
Correcto |
#include <iostream.h> #include <stdlib.h> int main() |
#include <iostream.h> #include <stdlib.h> int main() system('PAUSE' return |
Este inconveniente no indica en cual línea de código está el error. Esto es debido a que realiza la comprobación completa de paréntesis que abren y cierran, solo el programador deberá determinar donde está el error. El siguiere es el mensaje es mostrado en la ventana “Compiler and linker output” : (Nota, en este ejemplo el nombre del archivo es ejemp_6.cpp) c:errejemp_6.cpp: In function `int main()': c:errejemp_6.cpp:15: parse error at end of input En este ejemplo, hace falta cerrar llaves en la línea 11, el error es indicado después de toda la comprobación de llaves en la línea 15 |
Las palabras reservadas son:auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while Estas palabras no admiten modificaciones, es necesario escribirlas tal como son, sin mayúsculas, si no aparecen resaltadas en negrita resaltado en el área de edición, muy seguramente están mal escritas o fuera de contexto, y por lo tanto es necesario revisar el código. |
|
Incorrecto |
Correcto |
#include <iostream.h> #include <stdlib.h> int main() system('PAUSE' return |
#include <iostream.h> #include <stdlib.h> int main() system('PAUSE' return |
Una palabra reservada denota una instrucción, si esta no es clara o no se encuentra, se pierde el sentido de las expresiones construidas en todas las líneas de código. El siguiere es el mensaje es mostrado en la ventana “Compiler and linker output” : (Nota, en este ejemplo el nombre del archivo es ejemp_7.cpp) c:errejemp_7.cpp: In function `int main()': c:errejemp_7.cpp:7: parse error before `;' c:errejemp_7.cpp:7: parse error before `)' c:errejemp_7.cpp: At top level: c:errejemp_7.cpp:12: ANSI C++ forbids declaration `system' with no type c:errejemp_7.cpp:12: `int system' redeclared as different kind of symbol E:DEV-C_~1Includestdlib.h:283: previous declaration of `int system(const char *)' c:errejemp_7.cpp:12: initialization to `int' from `const char *' lacks a cast c:errejemp_7.cpp:13: parse error before `return' En este ejemplo, la sentencia for de la línea 7, tiene una letra en mayúsculas, el editor de texto no la detecta como una palabra reservada de C++, y por lo tanto, la sentencias propias de esta orden (a = ; a < ; a++ ), pierden sentido, y ocurre un error general en la aplicación, es aconsejable en estos casos, revisar cada una de las líneas indicadas en la ventana de resultados de compilación para verificar su sintaxis. |
Olvidar definir una variable |
|
Incorrecto |
Correcto |
#include <iostream.h> #include <stdlib.h> int main() system('PAUSE' return |
#include <iostream.h> #include <stdlib.h> int main() system('PAUSE' return |
El siguiere es el mensaje es mostrado en la ventana “Compiler and linker output” : (Nota, en este ejemplo el nombre del archivo es ejemp_8.cpp) c:errejemp_8.cpp:9: `b' undeclared (first use this function) c:errejemp_8.cpp:9: (Each undeclared identifier is reported only once c:errejemp_8.cpp:9: for each function it appears in.) Hace falta definir la variable b, en la línea 6, este error es detectado fácilmente por el compilador como lo indica el primer mensaje del compilador, sin embargo, en la línea 9 es llamada esta variable por primera vez, por lo tanto es hay donde se muestra el error. |
Usar “,” en vez de “;” dentro de una sentencia for |
|
Incorrecto |
Correcto |
#include <iostream.h> #include <stdlib.h> int main() system('PAUSE' return |
#include <iostream.h> #include <stdlib.h> int main() system('PAUSE' return |
El siguiere es el mensaje es mostrado en la ventana “Compiler and linker output” : (Nota, en este ejemplo el nombre del archivo es ejemp_9.cpp) c:errejemp_9.cpp:7: parse error before `)' c:errejemp_9.cpp:11: parse error before `}' El uso de “,“ en ves de “;“dentro de una sentencia for, genera error en 2 partes, en la línea donde se ha declarado la sentencia, y en la línea donde finaliza, no necesariamente es indicada la falta del signo “;” |
Olvidar incluir una librería |
|
Incorrecto |
Correcto |
#include <iostream.h> #include <stdlib.h> int main() system('PAUSE' return |
#include <iostream.h> #include <stdlib.h> #include <math.h> int main() system('PAUSE' return |
El siguiere es el mensaje es mostrado en la ventana “Compiler and linker output” : (Nota, en este ejemplo el nombre del archivo es ejemp_10.cpp) c:errejemp_10.cpp:10: implicit declaration of function `int atan()' En la línea 10 la variable b está recibiendo el valor del arcotangente de a, pero arcotangente es una función definida dentro de la librería matemática, por lo tanto el error indicado por el compilador, es no poder resolver el significado de atan(); Una librería es un archivo externo, que se llama para incluir funciones que están definidas dentro de este, es común encontrar un conjunto estándar de librerías, estas son: ALLOC.H ASSERT.H BCD.H BIOS.H COMPLEX.H CONIO.H CTYPE.H DIR.H DIRENT.H DOS.H ERRNO.H FCNTL.H FLOAT.H FSTREAM.H GENERIC.H GRAPHICS.H IO.H IOMANIP.H IOSTREAM.H LIMITS.H LOCALE.H MALLOC.H MATH.H MEM.H PROCESS.H SETJMP.H SHARE.H SIGNAL.H STDARG.H STDDEF.H STDIO.H STDIOSTR.H STDLIB.H STREAM.H STRING.H STRSTREA.H SYSSTAT.H SYSTIMEB.H SYSTYPES.H TIME.H En cada una de estas librerías encontrará diversas funciones útiles, que simplifican la programación, por ejemplo en MATH.H, encontrará muchas funciones matemáticas, como la expuesta en el ejemplo anterior, también es posible (y muy recomendable), escribir librerías personalizadas, definidas para cada necesidad, ya que esto facilita la utilización de líneas de código que pueden ser útiles en uno o más programas. |
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1114
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved