Herramientas de usuario

Herramientas del sitio


start

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
start [2012/07/28 19:05] – [Clase 1: Lenguaje C, E/S Estándar] lmateustart [2014/11/15 08:44] (actual) – [Servidor Multi-cliente con select] lmateu
Línea 1: Línea 1:
 ====== CC3301 - Programación de Software de Sistemas ====== ====== CC3301 - Programación de Software de Sistemas ======
 +
 +Estos son los apuntes de José Piquer.  Además se encuentran disponibles en youtube
 +[[http://www.youtube.com/watch?v=maJkL9kpoek&feature=c4-overview-vl&list=PLC4BC3AFA8B75D08B|videos de las 23 clases]] de
 +José Piquer. Hay un índice del contenido en los comentarios para las clases 2, 3, 4 y 5.  El que vea
 +los siguientes videos sin el índice agregue un comentario con el contenido por favor.  Observen que el botón que aparece en la esquina de arriba a la izquierda en el video permite seleccionar el número de la clase que desean ver.
 +Pero cuidado, la enumeración de las clases de esta página no corresponde uno a uno a la enumeración de los 23 videos,
 +ni siquiera el orden.
 +
 +En los apuntes de [[temario|Luis Mateu]] se explican los mismos conceptos de esta página pero con más detalle.
  
 ===== Clase 1: Lenguaje C, E/S Estándar ===== ===== Clase 1: Lenguaje C, E/S Estándar =====
  
-Ver contenido extendido en [[introduccion|Lenguaje C, E/S estándar]].+Ver contenido extendido en [[introduccion|Introducción]].
  
 Ejemplo estudiado: [[http://www.dcc.uchile.cl/jpiquer/Docencia/cc31a/copy.c|copy.c]] Ejemplo estudiado: [[http://www.dcc.uchile.cl/jpiquer/Docencia/cc31a/copy.c|copy.c]]
Línea 47: Línea 56:
 ====== Clase 2: Lenguaje C y tipos básicos ====== ====== Clase 2: Lenguaje C y tipos básicos ======
  
 +Ver contenido extendido en [[tipos|tipos]] y [[variables|variables]].
 ===== Enteros ===== ===== Enteros =====
 char: 8 bits, 1 byte char: 8 bits, 1 byte
Línea 65: Línea 75:
 ===== Punteros ===== ===== Punteros =====
  
 +Ver contenido extendido en [[punteros|punteros]] y [[strings|strings]].
 ==== Strings ==== ==== Strings ====
  
Línea 3120: Línea 3131:
 Atendemos todos los clientes en el mismo ciclo, usando select: Atendemos todos los clientes en el mismo ciclo, usando select:
 <code C> <code C>
 +#define _BSD_SOURCE 1
 +
 #include <stdio.h> #include <stdio.h>
 #include <stdlib.h> #include <stdlib.h>
Línea 3208: Línea 3221:
    }    }
 } }
 +</code>
 +
 +Se necesita definir la macro _BSD_SOURCE al inicio del programa para hacer válido el uso de la función getdtablesize().  El encabezado de esta función está incluido en unistd.h, pero solo cuando se define la macro _BSD_SOURCE.  Eso se indica en la documentación de getdtablesize:
 +
 +<code>
 +  % man 3 getdtablesize
 +  NAME
 +       getdtablesize - get descriptor table size
 +
 +  SYNOPSIS
 +       #include <unistd.h>
 +
 +       int getdtablesize(void);
 +
 +     Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
 +
 +       getdtablesize():
 +           Since glibc 2.12:
 +               _BSD_SOURCE ||
 +                   !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
 </code> </code>
  
start.1343513105.txt.gz · Última modificación: 2012/07/28 19:05 por lmateu