GNU/LINUX
-5%

GNU/LINUX

CHARTE OJEDA FRANCISCO

52,90 €
50,26 €
IVA incluido
No disponible
Editorial:
ANAYA
Año de edición:
2003
Materia
Libros varios
ISBN:
978-84-415-1544-4
Páginas:
720
Encuadernación:
Rústica
Colección:
ANAYA MULTIMEDIA
52,90 €
50,26 €
IVA incluido
No disponible
Añadir a favoritos

Introducción
Programación en Linux
Objetivos de este libro
Requisitos previos

1. Lenguajes y bibliotecas
Lenguajes de programación
Lenguajes de la shell
Lenguajes de guiones
Lenguajes procedimentales
Lenguajes orientados a objetos
Otros lenguajes
Bibliotecas de servicios
Resumen

2. Herramientas de desarrollo
Editores de código
Vi
Opciones de puesta en marcha
Inserción de texto
Comandos de desplazamiento
Eliminación de caracteres
Operaciones con archivos
Trabajo con múltiples archivos
Edición de códigos
Otras operaciones
Emacs
Interfaces de Emacs
Tareas de edición
Operaciones con archivos
Trabajo con múltiples archivos
Acceso al menú de opciones
Edición de código
Otras posibilidades de Emacs
Otros editores
Compiladores y enlazadores
La colección de compiladores GNU
Ensamblador y enlazador
La herramienta make
Archivos makefile
Dependencias y objetivos
Uso de variables
Reglas y variables predefinidas
Control del código fuente
RCS
Estructura de directorios
Iniciación del registro de un archivo
Depósito y obtención de archivos
Control de las versiones
Consolidación de revisiones
make y RCS
CVS
Preparación del depósito de código
Registro de un nuevo proyecto
Recuperación de una copia local
Adición y confirmación de cambios
Control de las versiones
Depuración con GDB
Información para depuración
Ejecución paso a paso
Comprobación y manipulación de valores
Examen de la pila
Registros y memoria
Resumen

3. Entornos IDE y RAD
Tan sólo necesita Emacs
Entornos IDE en modo texto
Xwpe
La interfaz de texto
La interfaz gráfica
RHIDE
Motor
Entornos gráficos
Glade
Qt Designer
KDevelop
Lazarus
Otros entornos
Resumen

4. Automatización de tareas con guiones
Tipos de comandos
Un guión sencillo
Ejecución del guión
Indicación del intérprete de comandos
Uso de variables
Sustitución de variables
Variables predefinidas
Variables con múltiples elementos
Condicionales
Bucles
Solicitud de datos
Errores y señales
Comprobación, desvío y emisión de errores
Interceptación de señales
Evaluación de expresiones
Estructuración del código
Variables locales
Código de retorno de una función
Sustitución de comandos de Bash
Otros comandos útiles
Mejora de la presentación
Colores de texto y fondo
Control del cursor
Almacenamiento y recuperación de datos
Apertura de archivos
Uso de herramientas externas
Resumen

5. Programación en C/C++
Estructura de un proyecto
Uso del compilador GCC
Compilación básica
Opciones de control del proceso
Opciones para el preprocesador
Opciones para el compilador
Opciones para el enlazador
Bibliotecas estándar
Iniciación a C y C++
Estructura general
El punto y el punto y coma
Archivos de cabecera y la directiva include
Comentarios
Constantes y variables
Identificadores
Tipos
Declaración de variables
Arreglos o matrices
Definición de nuevos tipos
Constantes y literales
Inicialización en la declaración
Ámbito de los identificadores
Identificadores locales
Ámbito de módulo
Identificadores globales
Problemas de accesibilidad
Expresiones
Operadores aritméticos
Operadores relacionales
Operadores lógicos
Operadores de bits
Operadores de trabajo con punteros
Orden de prioridad
Estructuras de control
Condicionales
Bucles
Funciones
Definición
Parámetros de entrada
Parámetros de salida
Prototipos
En resumen
Programación orientada a objetos
¿Qué es un objeto?
Encapsulación
Una clase simple
Uso de un objeto
Partes públicas, privadas y protegidas
Constructores y destructores
Miembros estáticos
El objeto this
Herencia
Limitaciones de acceso
Transitividad de la herencia
Construcción de un objeto
TEntidad y TCirculo
Redefinición de métodos
Polimorfismo
Métodos virtuales
Métodos virtuales puros y clases abstractas
La jerarquía TVehiculo
Información de tipos en ejecución (RTTI)
Destructores virtuales
Mayor información de tipo
Más sobre constructores
El constructor por defecto
El constructor de copia
Parámetros por defecto en los constructores
Sobrecarga
Sobrecarga de funciones
Sobrecarga de operadores
Ámbitos con nombre o namespaces
Definición de un ámbito con nombre
Ámbitos anónimos
Resumen

6. Servicios de propósito general
Manipulación de cadenas de caracteres
Asignación de cadenas
Longitud actual y máxima
Concatenación de cadenas
Comparación de cadenas
Funciones de búsqueda
Clasificación de caracteres
Funciones de conversión
Cadenas en C++
Reserva y liberación de memoria
Asignación dinámica clásica
Asignación con liberación automática
Gestión de memoria en C++
Funciones para manipular bloques de memoria
Fechas, horas y tiempos
Fecha y hora actuales
Hora local y universal
Codificación y diferencias entre fechas
Otras funciones de tiempo
Funciones matemáticas
Información del sistema
Resumen

7. Servicios de entrada y salida
Operaciones básicas
Apertura y cierre de un flujo
Lectura y escritura
Posición en el archivo
El sistema de archivos
Manipulación de directorios
Contenido de un directorio
Otras operaciones con archivos
Archivos en memoria
Entrada y salida con formato
Cadenas de formato
La familia de funciones printf()
La familia de funciones scanf()
Entrada y salida en C++
Generalidades de las clases
Operadores de inserción y extracción
Establecimiento del formato
Manipuladores
Métodos de entrada y salida
Trabajo con archivos
Posición en el flujo de datos
Estado del flujo
Flujos de datos en memoria
Resumen

8. Procesos
Ejecución de un programa
Redirección de la entrada y salida
Creación de un nuevo proceso
Identificación de procesos
Sustitución de la imagen del ejecutable
Funciones de espera
Comunicación entre procesos
Tuberías
Interrupción de un proceso hijo
Resumen

9. Gestión de múltiples hilos
Generalidades sobre aplicaciones multihilo
Creación de un nuevo hilo
Punto de entrada
Finalización del hilo principal
Atributos del nuevo hilo
Sincronización de hilos
Uso de variables compartidas como señalizadores
Recursos compartidos
Semáforos
Resumen

10. Servicios de sockets
Creación de un socket
Tipos de direcciones
Estilos de socket
Protocolos
Cierre del socket
Construcción de un servidor
Establecimiento de la dirección
Conversión de datos
Ponemos el socket a la escucha
Proceso de las peticiones entrantes
Interpretación de direcciones IP
Construcción de un cliente
Establecimiento de la dirección
Conexión con el servi

GNU/Linux es un sistema operativo con una amplia difusión, una plataforma para el desarrollo de aplicaciones aceptada mundialmente por usuarios, instituciones y gobiernos para la cual hay disponibles multitud de lenguajes, bibliotecas y herramientas que, en su mayor parte, siguen la filosofía de código de uso libre.

Linux es posiblemente el sistema operativo para el que existe un mayor número de lenguajes, compiladores, bibliotecas y otras herramientas de desarrollo disponibles, lo cual permite a los programadores elegir lo que más se adecúa a los conocimientos y necesidades de cada proyecto en particular. El lenguaje de programación por excelencia en Linux es C, ya que gran parte del sistema, como ocurriera con Unix, se ha escrito con ese lenguaje. En cualquier instalación de Linux siempre existe un compilador de C, así como archivos de cabecera y bibliotecas estáticas y dinámicas. No necesitamos, por tanto, más que un editor simple y algo de documentación, normalmente también incluida en el sistema, para comenzar a programar con el lenguaje C.

El objetivo de este libro es introducirle de forma amplia al mundo de la programación en Linux, mostrándole qué opciones hay disponibles y cuál es su aplicación concreta.

Incluye CD-ROM con los ejemplos del libro, bibliotecas y herramientas de desarrollo para GNU/Linux.

Artículos relacionados