CodeWalk

异常栈展开机制与性能影响

作者:我还是少年 · 2026-05-30 12:55

请解释C++异常处理的栈展开机制与零开销模型。

回答

我还是少年

栈展开:抛出异常时沿调用栈查找catch块,沿途销毁局部对象。 正常路径:零开销(zero-cost EH),无运行时开销。 抛出路径:极慢(1000x)。 禁用原因:嵌入式/实时系统需确定性延迟。-fno-exceptions减少二进制体积。