¿ Lenguaje de programación C/C++?
El lenguaje de programación C, permite
realizar todo tipo de aplicaciones:
•
Sistemas Operativos
•
Procesadores de Texto
•
Bases de Datos
•
Hojas de Calculo
•
Etc.
Es un lenguaje muy potente, aun de
actualidad, que parte de la filosofía de
programación
estructurada
hasta
la
orientación a objetos.
¿ Lenguaje de programación C / C ++ ?
¿ Estándares de Lenguaje C?
ANSI C
• La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente comoANSI C.
• Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990).
• Objetivo: «una definición no ambigua del lenguaje C, e independiente de la máquina» (Esto significa también que los programadores que escriban programas en C estándar tendrán la seguridad de que correrán sus modificaciones en cualquier sistema que tenga un compilador C.)
Como el C es un lenguaje muy poderoso y flexible su uso se difundió muy rápidamente. Los
programadores de todo el mundo comenzaron a usarlo, diferentes organizaciones
comenzaron a utilizar muy pronto sus propias versiones del C, las pequeñas diferencias
entre las implementaciones comenzaron a dar problemas a los programadores
C99
• El estándar continuó bajo revisión a finales de la década de 1990, lo que llevó a la publicación del estándar ISO 9899:1999 en 1999. Este estándar se denomina habitualmente "C99". Se adoptó como estándar ANSI en marzo de 2000.
C11
¿ Características de Lenguaje C?
•
Portabilidad
•
32 palabras clave en el estándar C89 y 37 en el estándar C99.
•
Posee estructura de control de flujos
•
Permite crear funciones
•
Posee características de los lenguajes de alto y bajo nivel, acceso a bits,
manejo de punteros, acceso directo a memoria.
•
En case
sensitive
, distingue entre mayúsculas y minúsculas
¿ Características de Lenguaje C++?
•
Diversas mejores del Lenguaje C
•
Encapsulación
•
Herencia
•
Sobrecarga de Funciones
•
Sobrecarga de Operadores
•
Polimorfismo
•
Operadores
new
y
delete
¿ Compiladores y Entornos de Desarrollo C/C++ ?
Apple C++.Borland C++ Codewarrior C++ Comeau C++ Cygwin (GNU C++) Dev C++ywx-Dev C++ Digital Mars C++
DJ Delorie's C++ development system for DOS/Windows (GNU C++)
Edison Design Group C++ Front End Green Hills C++
G++
HP C++ para UNIXyHP C++ para OpenVMS. IBM C++
Intel C++
MINGW - Minimalist GNU for Windows. The LLVM Compiler Infrastructure.
Mentor Graphics/Microtec Research C++ Microsoft C++
Microsoft Visual C++ Toolkit 2003 Paradigm C++
The Portland Group C++ SGI C++
Sun C++ Sun Studio.
¿ Compiladores y Entornos de Desarrollo C/C++ ?
IDE
(Integrated Development Enviroment): Es un programa formado por un
conjunto de herramientas que facilitan la tarea del programador.
IDE
Un Editor de Texto
El Compilador
El Depurador Sistemas de
¿ Compiladores y Entornos de Desarrollo C/C++ ?
CodeLite (http://www.codelite.org/)
CodeLite es una IDE multiplataforma libre y de código abierto para los lenguajes C/C++ que usa wxWidgets para su interfaz gráfica. Para cumplir con el espíritu de código abierto de CodeLite, se compila y depura usando solo herramientas libres (MinGW y GDB).
Code Blocks (http://www.codeblocks.org/)
¿ Compiladores y Entornos de Desarrollo C/C++ ?
Ultímate++ (http://ultimatepp.org/)
Es un entorno de desarrollo rápido de aplicaciones en C++. Incluye un conjunto de bibliotecas de usuario (GUI, SQL,...). Cuenta con tecnología BLITZ para acelerar las recompilaciones de C++ hasta 4 veces. También presente un un poderoso analizador de código que ofrece características como autocompletado de código, navegación y transformación.
Zinjai (http://zinjai.sourceforge.net/)
Desarrollo hecho en castellano para el desarrollo utilizando C++. Entre sus características incluye:
Coloreado de texto.
Desarrollo rápido de ejercicios sin necesidad de tener que crear proyectos.
Completo sistema de ayuda, toda en castellano. Autocompletado y ayuda de funciones.
¿ Compiladores y Entornos de Desarrollo C/C++ ?
Adjunta DevStudio (http://ultimatepp.org/)
Es un entorno integrado de desarrollo para programar en los lenguajes C, C++, Java y Python, en sistemas GNU/Linux. Su principal objetivo es trabajar con GTK y en el escritorio GNOME, además ofrece un gran número de características avanzadas de programación.
Anjuta es software libre, liberado bajo la licencia GPL. Incluye un administrador de proyectos, asistentes, plantillas, depurador interactivo y un poderoso editor que verifica y resalta la sintaxis escrita.
Geany (http://www.geany.org/)
¿ Compiladores y Entornos de Desarrollo C/C++ ?
Borland C++ (http://edn.embarcadero.com/article/20633)
Es un entorno de desarrollo para C++ bajo Windows. Combina la libería Visual Component Library y el IDE escrito en Delphi con un modeno compilador de C++. Incluye herramientas que permiten un desarrollo visual de arrastrar y soltar componentes sobre la aplicación, haciendo el acto de programar mucho mas sencillo.
Qt Creator (http://qt.digia.com/)
Es un entorno de desarrollo para C++ multiplataforma. Entre sus características están:
Avanzado editor de código C++
Gestión y administración de proyectos. Sistema de ayuda
¿ Compiladores y Entornos de Desarrollo C/C++ ?
Dev-C++ es un entorno de desarrollo integrado (IDE) para programar en lenguaje C/C++. Usa MinGW que es una versión de GCC (GNU Compiler Collection) como su compilador. Dev-C++ puede además ser usado en combinación con Cygwin y cualquier compilador basado en GCC.
El Entorno está desarrollado en el lenguaje Delphi de Borland. Tiene una página de paquetes opcionales para instalar, con diferentes bibliotecas de código abierto
¿ Proceso de ejecución de un Programa en C ?
Edición. El código se escribe en un editor de texto o en un editor de código
preparado para esta acción. El archivo se suele guardar con extensión .cpp (también en cxx, c++ o cc).
Preprocesado. Antes de compilar el código, el preprocesador lee las instrucciones de preprocesador y las convierte al código fuente equivalente.
Compilación. El código fuente resultante en lenguaje C++ se compila mediante el software apropiado, obteniendo un código máquina llamado archivo objeto cuya extensión suele ser .obj). Este código aún no es ejecutable ya que necesita incluir el código máquina relativo a las funciones y módulos que se utilizaban en nuestro código. Estas funciones están incluidas en archivos externos (librerías).
el código anterior.
Enlazado. El código objeto se une al código compilado de las librerías y módulos invocados por el programa anterior. El resultado es un archivo ejecutable (extensión .exe en Windows)