windows system
This commit is contained in:
+18
-13
@@ -2,8 +2,8 @@
|
||||
|
||||
## Estado actual
|
||||
|
||||
- **Fase 2**: buffer dinámico. La Fase 1 está cerrada en Fedora, pero falta
|
||||
probarla en Windows.
|
||||
- **Fase 2**: buffer dinámico. La Fase 1 está cerrada en Fedora y en Windows
|
||||
(2026-10-05).
|
||||
- Paso actual: 2.3b. `hello.c` ya usa bien `goto cleanup` (punteros a `NULL`
|
||||
uno por línea, `result`, un solo `return`), sin avisos con gcc ni clang, y
|
||||
Valgrind limpio. Falta `escpos_buffer_append`: el parámetro con la cantidad,
|
||||
@@ -17,20 +17,23 @@
|
||||
|
||||
### Windows (sobremesa)
|
||||
|
||||
- Al llegar: `git pull` en la terminal UCRT64 y comprobar `gcc`, `make` y `gdb`.
|
||||
Si falta algo:
|
||||
`pacman -S mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-gdb make`.
|
||||
- Cerrar la Fase 1: `make` tiene que generar `build/hello.exe`. Falta en el
|
||||
Makefile el `ifeq ($(OS),Windows_NT)` de `docs/06-make.md`. `mkdir -p` y
|
||||
`rm -rf` solo funcionan en la shell de MSYS2.
|
||||
- Probar F5 en VS Code: `.vscode/` ya tiene la configuración de Windows con
|
||||
rutas `C:/msys64/ucrt64/...`.
|
||||
- Hay gcc, gdb y make en `C:\msys64`. Faltan clang y `xxd` (opcionales:
|
||||
`pacman -S mingw-w64-ucrt-x86_64-clang vim`; mientras, `hexdump -C`).
|
||||
- Fase 1 cerrada: `make`, `make run` y `Nothing to be done` funcionan sin
|
||||
`EXE` gracias a la emulación de `.exe` de MSYS2 (ver docs/06-make.md). El
|
||||
`ifeq ($(OS),Windows_NT)` se pospone a la Fase 4, cuando haga falta
|
||||
`-lws2_32`.
|
||||
- Probar en VS Code: terminal nueva (debe abrir UCRT64), Ctrl+Shift+B y F5.
|
||||
- El 2.3b se puede avanzar aquí; la comprobación de memoria queda para Fedora.
|
||||
|
||||
### Fedora (portátil)
|
||||
|
||||
- Validar con valgrind el 2.3b cuando esté hecho (y con ASan/UBSan antes de
|
||||
cerrar la Fase 2).
|
||||
- Tras el `git pull` del 2026-10-05, comprobar que `make` y F5 siguen igual
|
||||
(se ha tocado `.vscode/` y se han añadido `.gitattributes` y `.gitignore`).
|
||||
Los binarios de Go ya no se versionan: recompilarlos con `go build` si hacen
|
||||
falta.
|
||||
|
||||
## Hecho
|
||||
|
||||
@@ -80,13 +83,15 @@
|
||||
- Estilo: nombres en `snake_case` y llave de apertura en línea aparte (estilo
|
||||
Allman) en funciones, structs y bloques.
|
||||
- Lo generado va en `build/`, que se crea en las recetas con `mkdir -p` y no se
|
||||
versiona.
|
||||
versiona. Tampoco se versionan ejecutables ni volcados (`vgcore.*`).
|
||||
- Dos máquinas transparentes: `.gitattributes` fuerza LF en todo y marca
|
||||
`*.bin` como binario (git no toca los bytes ESC/POS). En Windows, VS Code usa
|
||||
la shell UCRT64 de MSYS2 para la terminal y las tareas, así que `make`,
|
||||
`mkdir -p` y `rm -rf` funcionan igual que en Fedora.
|
||||
|
||||
## Pendiente / puntos débiles
|
||||
|
||||
- Fase 1: probar el Makefile en Windows (MSYS2), con el sufijo `.exe`.
|
||||
- `.gitignore` creado. Siguen versionados `emulator/escpos-emu.exe` y
|
||||
`goruntime/goruntime.exe`.
|
||||
- Make: le costó entender que va hacia atrás desde el objetivo y que una regla
|
||||
patrón es una plantilla. Repasar con `docs/06-make.md`.
|
||||
- Punteros: le cuesta saber cuándo hace falta `*` y cuándo no, y distinguir la
|
||||
|
||||
Reference in New Issue
Block a user