El desarrollador de SumatraPDF abandona std::function después de 16 años, crea su propia solución

2025-06-15
El desarrollador de SumatraPDF abandona std::function después de 16 años, crea su propia solución

Después de 16 años de desarrollo en C++ de SumatraPDF, el autor abandonó `std::function` y las lambdas debido a dificultades de depuración. Los informes de fallos eran difíciles de descifrar debido a los nombres autogenerados de las funciones lambda generadas por el compilador. Creó funciones de devolución de llamada personalizadas más simples, `Func0` y `Func1`. Aunque menos completas que `std::function`, ofrecen ventajas significativas en cuanto a la memoria y la velocidad de compilación, y son más fáciles de depurar. Esta publicación detalla el diseño e implementación de `Func0` y `Func1`, y explica por qué este enfoque se adapta mejor a las necesidades de SumatraPDF.

Desarrollo