27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
# Apuntes
|
|
|
|
Ordenados por tema, en el orden en que se ven en el proyecto.
|
|
|
|
1. [Compilación y enlazado](01-compilation-and-linking.md): etapas de gcc,
|
|
cómo compila Go, empezar por cualquier etapa (`.i`, `-save-temps`), qué
|
|
hay dentro de un `.i`, unidades de traducción, por qué basta la declaración
|
|
para compilar, cabeceras e `#include`, encapsulación y tipos opacos, *include guards*,
|
|
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 `*` 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
|
|
memoria de otro proceso, y por qué el peligro real está en la tuya.
|
|
4. [Go con mentalidad de C](04-go-with-c-mindset.md): benchmark de dos
|
|
estilos, reservas de memoria, padding, slices que comparten memoria,
|
|
dinero en float y el precio de la versión rápida.
|
|
5. [Frameworks y librerías](05-libraries-and-frameworks.md): Qt, por qué en C
|
|
casi no hay frameworks, librerías C relevantes para el proyecto e
|
|
interfaces con punteros a función.
|
|
6. [Make](06-make.md): reglas, grafo de dependencias por fechas, variables
|
|
automáticas, reglas patrón, dependencias de cabeceras con `-MMD -MP` y
|
|
detección de Windows/Linux.
|
|
|
|
[Chuleta de comandos](cheatsheet.md): todos los comandos usados, agrupados por
|
|
tarea.
|