Desenvolvedor do SumatraPDF abandona std::function após 16 anos, cria sua própria solução

2025-06-15
Desenvolvedor do SumatraPDF abandona std::function após 16 anos, cria sua própria solução

Após 16 anos desenvolvendo o SumatraPDF em C++, o autor abandonou `std::function` e lambdas devido a dificuldades de depuração. Relatórios de falhas eram difíceis de decifrar por causa dos nomes autogerados das funções lambda geradas pelo compilador. Ele criou funções de callback personalizadas mais simples, `Func0` e `Func1`. Embora menos ricas em recursos que `std::function`, elas oferecem vantagens significativas em relação à pegada de memória e à velocidade de compilação, e são mais fáceis de depurar. Esta postagem detalha o design e a implementação de `Func0` e `Func1`, e explica por que essa abordagem se adapta melhor às necessidades do SumatraPDF.

Desenvolvimento