SumatraPDF开发者16年后放弃std::function,自造回调函数

2025-06-15
SumatraPDF开发者16年后放弃std::function,自造回调函数

SumatraPDF的开发者在16年的C++开发历程中,因为`std::function`和lambda表达式在调试崩溃时难以追踪,导致难以定位问题,最终放弃了它们。他选择了一个更小巧、更易于理解的自定义回调函数实现方案`Func0`和`Func1`。尽管功能不如`std::function`强大,但它在内存占用和编译速度上具有显著优势,并且更易于调试。这篇文章详细介绍了`Func0`和`Func1`的设计和实现细节,以及为什么开发者认为这种方法更适合SumatraPDF的项目需求。

开发 回调函数