This commit is contained in:
2026-10-02 21:03:47 +02:00
parent 9d517f3607
commit b15620838b
20 changed files with 579 additions and 60 deletions
+6 -3
View File
@@ -9,7 +9,8 @@ Ordenados por tema, en el orden en que se ven en el proyecto.
flags, qué ve quien recibe los binarios, `nm` y errores del enlazador.
2. [Punteros y cadenas](02-pointers-and-strings.md): cadenas terminadas en
`'\0'`, `const char *`, los dos significados de `*`, dónde va el `*`,
nombres de parámetros, paso por valor frente a puntero y el formato de
nombres de parámetros, paso por valor frente a puntero, un puntero no sabe
cuántos elementos hay, `const` en parámetros, arrays y el formato de
`printf`.
3. [La memoria de un proceso](03-process-memory.md): memoria virtual, fallos
de página, modo usuario y modo núcleo, llamadas al sistema, cómo se lee la
@@ -25,14 +26,16 @@ Ordenados por tema, en el orden en que se ven en el proyecto.
detección de Windows/Linux.
7. [Memoria dinámica](07-dynamic-memory.md): pila y montón, *escape
analysis* de Go, `malloc`/`free`/`calloc`, `sizeof *p`, `realloc` y
estrategia de crecimiento, fugas, propiedad de
estrategia de crecimiento, `memcpy` y desbordamiento al calcular tamaños, fugas, liberar en caminos
de error sin `defer` (`goto cleanup`), propiedad de
los punteros y Valgrind.
8. [Structs](08-structs.md): definir frente a declarar, tipos incompletos y
tipo opaco, struct público frente a opaco, `typedef`, `uint8_t` y
`size_t`, qué tipo usar en cada caso, `.` frente a `->` e inicializadores designados.
9. [Depurar](09-debugging.md): qué es un *segfault*, código de salida 139,
`NULL` y la página 0, `free(): invalid pointer` (código 134), método para
depurar con Valgrind y los comandos mínimos de gdb.
depurar con Valgrind, los comandos mínimos de gdb y la depuración visual en
VS Code.
[Chuleta de comandos](cheatsheet.md): todos los comandos usados, agrupados por
tarea.