败犬日报 2025-03-11
1. std::bind 建议用 lambda 替代
更简单且调用栈少。
2. std::function_ref (C++26)
std::function_ref 调用开销相当于函数指针(std::function 调用开销相当于虚函数)。
这个东西在低版本可以自己实现 https://zhuanlan.zhihu.com/p/638531531
3. 静态链接符号未找到,但目标文件有这个符号
是链接顺序的问题。在往期提到这个现象:
主程序没引用静态库里面的符号,可能导致静态库整个被丢弃,里面的全局变量初始化的副作用也会没
可以用 --whole-archive
来临时规避,但是会导致二进制膨胀问题。
最佳实践是 --start-group
--end-group
。