SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
INTRUDUCCIÓN AL
LENGUAJE C++
Para empezar necesitamos un poco de vocabulario técnico. Veremos
algunos conceptos que se manejan frecuentemente en cualquier curso de
programación y sobre todo en manuales de C y C++.
Fichero fuente y programa o código fuente
Ficheros objeto, código objeto y compiladores
Librerías
Ficheros ejecutables y enlazadores
Errores
09/05/2016 2Edward Eliecer Silva Mejia
Fichero fuente y programa o código fuente:
Los programas C y C++ se escriben con la ayuda de un editor de textos del mismo modo
que cualquier texto corriente. Los ficheros que contiene programas en C o C++ en forma
de texto se conocen como ficheros fuente, y el texto del programa que contiene se conoce
como programa fuente. Nosotros siempre escribiremos programas fuente y los
guardaremos en ficheros fuente.
09/05/2016 3Edward Eliecer Silva Mejia
Ficheros objeto, código objeto y compiladores:
Los programas fuente no pueden ejecutarse. Son ficheros de texto, pensados para que los
comprendan los seres humanos, pero incomprensibles para los ordenadores.
Para conseguir un programa ejecutable hay que seguir algunos pasos. El primero es compilar o
traducir el programa fuente a su código objeto equivalente. Este es el trabajo que hacen los
compiladores de C y C++. Consiste en obtener un fichero equivalente a nuestro programa fuente
comprensible para el ordenador, éste fichero se conoce como fichero objeto, y su contenido
como código objeto.
09/05/2016 4Edward Eliecer Silva Mejia
Ficheros objeto, código objeto y compiladores:
Los compiladores son programas que leen un fichero de texto que contiene el programa
fuente y generan un fichero que contiene el código objeto.
El código objeto no tiene ningún significado para los seres humanos, al menos no directamente.
Además es diferente para cada ordenador y para cada sistema operativo. Por lo tanto existen
diferentes compiladores para diferentes sistemas operativos y para cada tipo de ordenador.
09/05/2016 5Edward Eliecer Silva Mejia
Librerías:
Junto con los compiladores de C y C++, se incluyen ciertos ficheros llamados librerías. Las
librerías contienen el código objeto de muchos programas que permiten hacer cosas
comunes, como leer el teclado, escribir en la pantalla, manejar números realizar funciones
matemáticas, etc. Las librerías están clasificadas por el tipo de trabajos que hacen, hay
librerías de entrada y salida, matemáticas, de manejo de memoria, de manejo de textos, etc.
Hay un conjunto de librerías muy especiales, que se incluyen con todos los compiladores de C y
C++. Son las librerías ANSI o estándar. Pero también hay librerías no estándar, y dentro de
estas las hay públicas y comerciales. En éste curso sólo usaremos librerías ANSI.
09/05/2016 6Edward Eliecer Silva Mejia
Ficheros ejecutables y enlazadores:
Cuando obtenemos el fichero objeto, aún no hemos terminado el proceso. El fichero objeto, a
pesar de ser comprensible para el ordenador, no puede ser ejecutado.
El enlazador toma todos los ficheros objeto que componen nuestro programa, los combina con
los ficheros de librería que sea necesario y crea un fichero ejecutable.
Una vez terminada la fase de enlazado, ya podremos ejecutar nuestro programa.
09/05/2016 7Edward Eliecer Silva Mejia
Errores:
Los errores de programación pueden clasificarse en varios tipos, dependiendo de la fase en
que se presenten.
Errores de sintaxis:
son errores en el programa fuente. Pueden deberse a palabras reservadas mal escritas,
expresiones erróneas o incompletas, variables que no existen, etc. Los errores de sintaxis se
detectan en la fase de compilación. El compilador, además de generar el código objeto, nos
dará una lista de errores de sintaxis. De hecho nos dará sólo una cosa o la otra, ya que si hay
errores no es posible generar un código objeto.
09/05/2016 8Edward Eliecer Silva Mejia
Errores:
Avisos:
además de errores, el compilador puede dar también avisos (warnings). Los avisos son
errores, pero no lo suficientemente graves como para impedir la generación del código objeto.
No obstante, es importante corregir estos avisos, ya que el compilador tiene que decidir entre
varias opciones, y sus decisiones no tienen por qué coincidir con lo que nosotros pretendemos,
se basan en las directivas que los creadores del compilador decidieron durante su creación.
Errores de enlazado:
el programa enlazador también puede encontrar errores. Normalmente se refieren a funciones
que no están definidas en ninguno de los ficheros objetos ni en las librerías. Puede que hayamos
olvidado incluir alguna librería, o algún fichero objeto, o puede que hayamos olvidado definir
alguna función o variable, o lo hayamos hecho mal.
09/05/2016 9Edward Eliecer Silva Mejia
Errores:
Errores de ejecución:
incluso después de obtener un fichero ejecutable, es posible que se produzcan errores. En el caso
de los errores de ejecución normalmente no obtendremos mensajes de error, sino que
simplemente el programa terminará bruscamente. Estos errores son más difíciles de detectar y
corregir. Existen programas auxiliares para buscar estos errores, son los llamados depuradores
(debuggers). Estos programas permiten detener la ejecución de nuestros programas,
inspeccionar variables y ejecutar nuestro programa paso a paso. Esto resulta útil para detectar
excepciones, errores sutiles, y fallos que se presentan dependiendo de circunstancias distintas.
Errores de diseño:
finalmente los errores más difíciles de corregir y prevenir. Si nos hemos equivocado al diseñar
nuestro algoritmo, no habrá ningún programa que nos pueda ayudar a corregir los nuestros.
Contra estos errores sólo cabe practicar y pensar.
09/05/2016 10Edward Eliecer Silva Mejia
09/05/2016 Edward Eliecer Silva Mejia 11
Fin de la presentación
Continúe en la siguiente actividad

Más contenido relacionado

Destacado

Cigarette electronique - Cigego.fr
Cigarette electronique - Cigego.frCigarette electronique - Cigego.fr
Cigarette electronique - Cigego.frCigego
 
Asignacion 5 aiza aponte
Asignacion 5 aiza aponteAsignacion 5 aiza aponte
Asignacion 5 aiza aponteAiza Hernández
 
las tics en el aula
las tics en el aulalas tics en el aula
las tics en el auladavidmagno
 
Alexandra David-Neel exploratrice française
Alexandra David-Neel exploratrice françaiseAlexandra David-Neel exploratrice française
Alexandra David-Neel exploratrice françaiseDolly Ye
 
Usos y efectos de la tecnologia
Usos y efectos de la tecnologiaUsos y efectos de la tecnologia
Usos y efectos de la tecnologiamisslili
 
Congrès régional d’automne 2013
Congrès régional d’automne 2013Congrès régional d’automne 2013
Congrès régional d’automne 2013dabou-ch
 
El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...vivianacerquera
 
El homo videns_al_ser_digital
El homo videns_al_ser_digitalEl homo videns_al_ser_digital
El homo videns_al_ser_digitalIraisOcampo
 
Producción yerbatera
Producción yerbateraProducción yerbatera
Producción yerbaterasusanabartz
 
Neoliberalismo por Sergio Granados
Neoliberalismo por Sergio GranadosNeoliberalismo por Sergio Granados
Neoliberalismo por Sergio GranadosGerman Gengar
 
Términos de economía
Términos de economíaTérminos de economía
Términos de economíaItalo Orozco
 
Retrouver un ventre plat
Retrouver un ventre platRetrouver un ventre plat
Retrouver un ventre plathedge70closet
 
newsletter de Noviembre Embajada
 newsletter de Noviembre Embajada  newsletter de Noviembre Embajada
newsletter de Noviembre Embajada susanabartz
 
TID en el aula
TID en el aulaTID en el aula
TID en el aulaerluisma3
 

Destacado (20)

Face parts
Face partsFace parts
Face parts
 
Cigarette electronique - Cigego.fr
Cigarette electronique - Cigego.frCigarette electronique - Cigego.fr
Cigarette electronique - Cigego.fr
 
Situacion problema de taller de historia
Situacion problema de taller de historiaSituacion problema de taller de historia
Situacion problema de taller de historia
 
Asignacion 5 aiza aponte
Asignacion 5 aiza aponteAsignacion 5 aiza aponte
Asignacion 5 aiza aponte
 
las tics en el aula
las tics en el aulalas tics en el aula
las tics en el aula
 
Alexandra David-Neel exploratrice française
Alexandra David-Neel exploratrice françaiseAlexandra David-Neel exploratrice française
Alexandra David-Neel exploratrice française
 
Usos y efectos de la tecnologia
Usos y efectos de la tecnologiaUsos y efectos de la tecnologia
Usos y efectos de la tecnologia
 
Congrès régional d’automne 2013
Congrès régional d’automne 2013Congrès régional d’automne 2013
Congrès régional d’automne 2013
 
El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...
 
El homo videns_al_ser_digital
El homo videns_al_ser_digitalEl homo videns_al_ser_digital
El homo videns_al_ser_digital
 
Producción yerbatera
Producción yerbateraProducción yerbatera
Producción yerbatera
 
Ley de medios
Ley de mediosLey de medios
Ley de medios
 
Programacionorientada a objetos
Programacionorientada a objetosProgramacionorientada a objetos
Programacionorientada a objetos
 
Neoliberalismo por Sergio Granados
Neoliberalismo por Sergio GranadosNeoliberalismo por Sergio Granados
Neoliberalismo por Sergio Granados
 
Términos de economía
Términos de economíaTérminos de economía
Términos de economía
 
Retrouver un ventre plat
Retrouver un ventre platRetrouver un ventre plat
Retrouver un ventre plat
 
Colegio san francisco
Colegio san franciscoColegio san francisco
Colegio san francisco
 
newsletter de Noviembre Embajada
 newsletter de Noviembre Embajada  newsletter de Noviembre Embajada
newsletter de Noviembre Embajada
 
TID en el aula
TID en el aulaTID en el aula
TID en el aula
 
Mlearnig
MlearnigMlearnig
Mlearnig
 

Similar a Proceso para la obtención de un programa ejecutable

1.introduccion a la programación
1.introduccion a la programación1.introduccion a la programación
1.introduccion a la programaciónMarina Vintimilla
 
Curso de programacion en c++ prev
Curso de programacion en c++ prevCurso de programacion en c++ prev
Curso de programacion en c++ prevjtk1
 
Conceptossobreedicionyobtenciondecodigoejecutable
ConceptossobreedicionyobtenciondecodigoejecutableConceptossobreedicionyobtenciondecodigoejecutable
ConceptossobreedicionyobtenciondecodigoejecutableColegio Metropolitano
 
2154086 curso-c-c-con-clase
2154086 curso-c-c-con-clase2154086 curso-c-c-con-clase
2154086 curso-c-c-con-claseEdgar Rodriguez
 
Cursocpp
CursocppCursocpp
Cursocppzotek
 
/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp/Media/tom nissim/cursocpp
/Media/tom nissim/cursocppTom Zambrano
 
Guía básica de depuración de código xcode 6 apple coding
Guía básica de depuración de código xcode 6   apple codingGuía básica de depuración de código xcode 6   apple coding
Guía básica de depuración de código xcode 6 apple codingRoggerza
 
2da parte instalación del compilador
 2da parte instalación del compilador 2da parte instalación del compilador
2da parte instalación del compiladoryuli02
 
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorLenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorDunkherz
 
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compiladorLenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compiladorCarlos
 
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compiladorLenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compiladorCarlos
 
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compiladorLenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compiladorCarlos
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-cClariza
 

Similar a Proceso para la obtención de un programa ejecutable (20)

Curso c++
Curso c++Curso c++
Curso c++
 
1.introduccion a la programación
1.introduccion a la programación1.introduccion a la programación
1.introduccion a la programación
 
Curso de programacion en c++ prev
Curso de programacion en c++ prevCurso de programacion en c++ prev
Curso de programacion en c++ prev
 
Conceptossobreedicionyobtenciondecodigoejecutable
ConceptossobreedicionyobtenciondecodigoejecutableConceptossobreedicionyobtenciondecodigoejecutable
Conceptossobreedicionyobtenciondecodigoejecutable
 
2154086 curso-c-c-con-clase
2154086 curso-c-c-con-clase2154086 curso-c-c-con-clase
2154086 curso-c-c-con-clase
 
Cursocpp
CursocppCursocpp
Cursocpp
 
Manual de-c-dev
Manual de-c-devManual de-c-dev
Manual de-c-dev
 
Manual C++ 3ra parte
Manual C++ 3ra parteManual C++ 3ra parte
Manual C++ 3ra parte
 
/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp
 
Cursocpp
CursocppCursocpp
Cursocpp
 
Guía básica de depuración de código xcode 6 apple coding
Guía básica de depuración de código xcode 6   apple codingGuía básica de depuración de código xcode 6   apple coding
Guía básica de depuración de código xcode 6 apple coding
 
Senati computacion 2017
Senati computacion 2017Senati computacion 2017
Senati computacion 2017
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
2da parte instalación del compilador
 2da parte instalación del compilador 2da parte instalación del compilador
2da parte instalación del compilador
 
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorLenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compilador
 
Algoritmos1
Algoritmos1Algoritmos1
Algoritmos1
 
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compiladorLenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
 
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compiladorLenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
 
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compiladorLenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
Lenguajesdeprogramacion c nivel1-unidad2-01-instalando compilador el compilador
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-c
 

Último

CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendioseduardochavezg1
 
Parámetros de Perforación y Voladura. para Plataformas
Parámetros de  Perforación y Voladura. para PlataformasParámetros de  Perforación y Voladura. para Plataformas
Parámetros de Perforación y Voladura. para PlataformasSegundo Silva Maguiña
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxEtse9
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIACOMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIARafaelPaco2
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciazacariasd49
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfAnonymous0pBRsQXfnx
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 

Último (20)

CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendios
 
Parámetros de Perforación y Voladura. para Plataformas
Parámetros de  Perforación y Voladura. para PlataformasParámetros de  Perforación y Voladura. para Plataformas
Parámetros de Perforación y Voladura. para Plataformas
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptx
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIACOMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potencia
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdf
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 

Proceso para la obtención de un programa ejecutable

  • 2. Para empezar necesitamos un poco de vocabulario técnico. Veremos algunos conceptos que se manejan frecuentemente en cualquier curso de programación y sobre todo en manuales de C y C++. Fichero fuente y programa o código fuente Ficheros objeto, código objeto y compiladores Librerías Ficheros ejecutables y enlazadores Errores 09/05/2016 2Edward Eliecer Silva Mejia
  • 3. Fichero fuente y programa o código fuente: Los programas C y C++ se escriben con la ayuda de un editor de textos del mismo modo que cualquier texto corriente. Los ficheros que contiene programas en C o C++ en forma de texto se conocen como ficheros fuente, y el texto del programa que contiene se conoce como programa fuente. Nosotros siempre escribiremos programas fuente y los guardaremos en ficheros fuente. 09/05/2016 3Edward Eliecer Silva Mejia
  • 4. Ficheros objeto, código objeto y compiladores: Los programas fuente no pueden ejecutarse. Son ficheros de texto, pensados para que los comprendan los seres humanos, pero incomprensibles para los ordenadores. Para conseguir un programa ejecutable hay que seguir algunos pasos. El primero es compilar o traducir el programa fuente a su código objeto equivalente. Este es el trabajo que hacen los compiladores de C y C++. Consiste en obtener un fichero equivalente a nuestro programa fuente comprensible para el ordenador, éste fichero se conoce como fichero objeto, y su contenido como código objeto. 09/05/2016 4Edward Eliecer Silva Mejia
  • 5. Ficheros objeto, código objeto y compiladores: Los compiladores son programas que leen un fichero de texto que contiene el programa fuente y generan un fichero que contiene el código objeto. El código objeto no tiene ningún significado para los seres humanos, al menos no directamente. Además es diferente para cada ordenador y para cada sistema operativo. Por lo tanto existen diferentes compiladores para diferentes sistemas operativos y para cada tipo de ordenador. 09/05/2016 5Edward Eliecer Silva Mejia
  • 6. Librerías: Junto con los compiladores de C y C++, se incluyen ciertos ficheros llamados librerías. Las librerías contienen el código objeto de muchos programas que permiten hacer cosas comunes, como leer el teclado, escribir en la pantalla, manejar números realizar funciones matemáticas, etc. Las librerías están clasificadas por el tipo de trabajos que hacen, hay librerías de entrada y salida, matemáticas, de manejo de memoria, de manejo de textos, etc. Hay un conjunto de librerías muy especiales, que se incluyen con todos los compiladores de C y C++. Son las librerías ANSI o estándar. Pero también hay librerías no estándar, y dentro de estas las hay públicas y comerciales. En éste curso sólo usaremos librerías ANSI. 09/05/2016 6Edward Eliecer Silva Mejia
  • 7. Ficheros ejecutables y enlazadores: Cuando obtenemos el fichero objeto, aún no hemos terminado el proceso. El fichero objeto, a pesar de ser comprensible para el ordenador, no puede ser ejecutado. El enlazador toma todos los ficheros objeto que componen nuestro programa, los combina con los ficheros de librería que sea necesario y crea un fichero ejecutable. Una vez terminada la fase de enlazado, ya podremos ejecutar nuestro programa. 09/05/2016 7Edward Eliecer Silva Mejia
  • 8. Errores: Los errores de programación pueden clasificarse en varios tipos, dependiendo de la fase en que se presenten. Errores de sintaxis: son errores en el programa fuente. Pueden deberse a palabras reservadas mal escritas, expresiones erróneas o incompletas, variables que no existen, etc. Los errores de sintaxis se detectan en la fase de compilación. El compilador, además de generar el código objeto, nos dará una lista de errores de sintaxis. De hecho nos dará sólo una cosa o la otra, ya que si hay errores no es posible generar un código objeto. 09/05/2016 8Edward Eliecer Silva Mejia
  • 9. Errores: Avisos: además de errores, el compilador puede dar también avisos (warnings). Los avisos son errores, pero no lo suficientemente graves como para impedir la generación del código objeto. No obstante, es importante corregir estos avisos, ya que el compilador tiene que decidir entre varias opciones, y sus decisiones no tienen por qué coincidir con lo que nosotros pretendemos, se basan en las directivas que los creadores del compilador decidieron durante su creación. Errores de enlazado: el programa enlazador también puede encontrar errores. Normalmente se refieren a funciones que no están definidas en ninguno de los ficheros objetos ni en las librerías. Puede que hayamos olvidado incluir alguna librería, o algún fichero objeto, o puede que hayamos olvidado definir alguna función o variable, o lo hayamos hecho mal. 09/05/2016 9Edward Eliecer Silva Mejia
  • 10. Errores: Errores de ejecución: incluso después de obtener un fichero ejecutable, es posible que se produzcan errores. En el caso de los errores de ejecución normalmente no obtendremos mensajes de error, sino que simplemente el programa terminará bruscamente. Estos errores son más difíciles de detectar y corregir. Existen programas auxiliares para buscar estos errores, son los llamados depuradores (debuggers). Estos programas permiten detener la ejecución de nuestros programas, inspeccionar variables y ejecutar nuestro programa paso a paso. Esto resulta útil para detectar excepciones, errores sutiles, y fallos que se presentan dependiendo de circunstancias distintas. Errores de diseño: finalmente los errores más difíciles de corregir y prevenir. Si nos hemos equivocado al diseñar nuestro algoritmo, no habrá ningún programa que nos pueda ayudar a corregir los nuestros. Contra estos errores sólo cabe practicar y pensar. 09/05/2016 10Edward Eliecer Silva Mejia
  • 11. 09/05/2016 Edward Eliecer Silva Mejia 11 Fin de la presentación Continúe en la siguiente actividad