Aprendizaje C
Pruebe el código C en línea: T-Snippet | Godbol | Cplayground | GDB en línea
Herramientas: Frama-C | inferir
Recursos en línea:
Estándares
- C.
- C Grupo de trabajo C WG14 DOCS
- C99
- C11
- C23 (Draft final 2022)
- Posix.1-2017 (OpenGroup.org)
C Manual de referencia (Dennis M. Ritchie) - PDF
Libros (usados por mí)
- Programación C: un enfoque moderno , segunda edición (2008) - Kn King
- C Primer Plus , 6th Edition (2014) - Stephen Prata
Tutoriales
- Guía de BeeJ para la programación C (actualizado 2021)
- C Tutorial de programación
- Stanford CS
- Essential C - Nick Parlante (PDF, 2003)
- Pointers and Memory - Nick Parlante (PDF, 2000)
- Conceptos básicos de la lista vinculada - N. Parlante (PDF, 2001)
- Árboles binarios - N. Parlante (HTML)
- comp.lang.c
- Un tutorial sobre punteros y matrices en C Ted Jensen (PDF, 2003)
- Cómo usar correctamente las macros en C por Preslav Mihaylov
- La Guía de referencia de la biblioteca C de Eric Huss (1997)
- Notas, ejemplos: estructuras de datos e implementaciones de algoritmos en C
- Cómo implementar una tabla hash en C Ben Hoyt (2021)
- Tablas de hash (de Crafting Interperators, 2020) de Bob Nystrom
- Una matchadora de expresión regular Brian Kernighan, código de Rob Pike
- Un simple tutorial de makefile
- Otro tutorial de Makefile.
- Un tutorial sobre Makefiles portátiles de Chris Wellons (nullprogram.com, 2017)
- Declaración de la regla de la derecha izquierda.
- Hacer un editor de texto - tutorial | código
- Tutorial SDL
- Dan Gookin
- Dentro de la biblioteca estándar C - Begriffs (2019)
- Programación de hilos de Posix
- Microsoft - Documentación del lenguaje C - Aprenda a usar la biblioteca C y la Biblioteca de tiempo de ejecución C. | Pdf
Escribir código C seguro C
- Estándar de codificación SEI Cert C
- Felix Palmen: una guía para principiantes lejos de Scanf ()
- John Regehr: una guía para el comportamiento indefinido en C y C ++
- Chris Lattner: lo que todo programador C debe saber sobre el comportamiento indefinido
- Diecisiete pasos a C - Thomas Honold
- Escribir código C más seguro (github.com)
- Resumen de las reglas enteras C/C ++ (Nayuki.io)
- Todo lo que desearía saber al aprender C (tmewett.com)
Cursos en línea
- CPSC223 - Estructuras de datos y técnicas de programación - PDF/HTML (2021)
- CS241 - Programación del sistema - Linux/Unix (2021)
- CS631 - Apue, programación avanzada en el entorno UNIX (2020-2021)
Videos
- Estudio C (basado en CS50)
- C Tutorial Ashley Mills (2015 - YouTube.com) Código fuente en Github
- Introducción a C en Windows Handmadehero
- C y lo que podemos aprender de él - Luca SAS (Accu 2021)
- Introducción a GDB
- Tutorial CS50
- Jacob Sorber - Tutorial GDB 1
- Jacob Sorber - Tutorial GDB 2
- Estructuras de datos CS50 (2017 - YouTube.com)
- Listas vinculadas
- CS50 Ejemplo 1 (2017 - YouTube.com)
- CS50 Ejemplo 2 (2017 - YouTube.com)
- Jacob Sorber (2019 - YouTube.com)
- Mesas de hash
- Ejemplo 1 - CS50 (2018 - YouTube.com)
- Ejemplo 2 - Jacob Sorber (2020 - YouTube.com)
- Programación de sistemas integrados: cómo programar microcontroladores integrados (MCU) en C (2013 - YouTube.com)
- Programación avanzada en el entorno Unix - Video (2020-2021 YouTube.com)
- "Hacer un juego desde cero en C" - Ryan Ries, un tutorial excelente sobre cómo programar en C en Windows (comenzó 2020 - YouTube.com)
- Entrevista de Brian Kernighan por Lex Fridman (Historia de C, julio de 2020, YouTube.com)
- Jacob Sorber Channel en YouTube.com
Código fuente
- OpenBSD libc
- musl-libc
- glibc
- coreutilos de gnu
- rizo/libcurl
- Rostacode
- CAT implementado en diferente sistema operativo (en Github)/ GIST
Ejemplo de bibliotecas de cadena
- Funciones de cadena desde GLIB
- https://github.com/intel/safestringlib
- https://github.com/rurban/safeclib
- https://github.com/mpedarrero/safestring
- https://github.com/antirez/sds
- https://github.com/maxim2266/str
- https://github.com/xyproto/egcc
- https://github.com/composer927/stringstruct
- https://github.com/c-factory/strings
- https://github.com/cavaliercoder/c-stringbuilder
Proyectos
- Awesome-C
- Tutoriales base del proyecto
- C como lenguaje de secuencias de comandos
- Biblioteca de plantillas C
Practicar, practicar, practicar ...