Algunas particularidades de C que olvidamos

Estaba terminando de leer un recomendado de Mig 21, concretamente Deep C (and C++) cuando me encuentro en la pila dependientes de publicar otro (que probablemente también encontré gracias a él): [PDF] Finding and Understanding Bugs in C Compilers que trata justamente de eso: el estándar de C es complicado y tiene sus cosillas indefinidas, intedeterminadas y (de vez en cuando) malinterpretadas. Los autores han creado Csmith, que genera programas aleatorios en C acordes con el estándar C99 y les sirve para comprobar que los compiladores (y otras herramientas) efectivamente hacen lo que tienen que hacer.

A mi, en su día cuando lo lei me recordó aquel clásico Reflections on Trusting Trust de Ken Thompson; también me sirvió para desempolvar un poco el C y recordar cosillas (en la línea que sugiere la primera presentación).

Siguiendo en esta línea, en Lo que todo programador de C debería saber sobre el “comportamiento indefinido” (se ve que es un tema que le gusta) podíamos acceder a más información en esta línea:

A Guide to Undefined Behavior in C and C++, Part 1.
A Guide to Undefined Behavior in C and C++, Part 2. Y, finalmente:
A Guide to Undefined Behavior in C and C++, Part 3.

Y, otra serie de 3:

What Every C Programmer Should Know About Undefined Behavior #1/3,
What Every C Programmer Should Know About Undefined Behavior #2/3 y, finalmente:
What Every C Programmer Should Know About Undefined Behavior #3/3.

Definitivamente, buenas lecturas para entretenerse en esta semana en la que, tal vez, tengan algún festivo más que en otras…

Un pensamiento en “Algunas particularidades de C que olvidamos

  1. Pingback: Bitacoras.com

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s