Uso seguro de printf y scanf: especificadores y tipos de datos
Guía sobre el uso de especificadores de formato, la importancia de los punteros en scanf y la prevención de desbordamientos de búfer.
Guía sobre el uso de especificadores de formato, la importancia de los punteros en scanf y la prevención de desbordamientos de búfer.
Explica cómo las optimizaciones de flujo de control eliminan chequeos de seguridad y lógica de código basándose en la suposición de que el UB nunca ocurre.
Análisis de tres categorías críticas de comportamiento indefinido en C relacionados con el manejo de punteros y la máquina abstracta.
Cómo la regla de strict aliasing permite optimizaciones críticas y por qué el type punning mediante casting es un error peligroso.
Análisis de desbordamiento de enteros con signo, acceso fuera de límites y uso de memoria no inicializada en C.
Diferencias críticas entre las tres categorías de comportamiento no determinista en el estándar C.
Explica el uso de _Complex y _Imaginary, su representación en memoria (ABI) y las implicaciones de la macro I en el procesamiento de señales.
Uso de la palabra clave _Generic para implementar macros type-safe y despacho de funciones basado en tipos en tiempo de compilación.
Explicación detallada de la promoción de enteros y las reglas de conversión de tipos en expresiones aritméticas de C11.
Guía técnica sobre el uso de casts explícitos, reglas de aliasing, conversión de punteros y cuándo el casting es un síntoma de mal diseño.