- DWARF
DWARF-2(DW2)EH,这需要使用DWARF-2(或DWARF-3)调试信息。DW-2 EH可以导致可执行文件略显膨胀,因为大的调用堆栈解开表必须包含在可执行文件中的。 - SJLJ
setjmp/longjmp(SJLJ),基于SJLJ的EH比DW2的EH慢得多(在没有异常时会惩罚甚至正常执行),但是可以在没有使用GCC编译的代码或没有调用堆栈的代码上工作。 - SEH
结构化异常处理(SEH,Structured Exception Handling),Windows使用自己的异常处理机制。
MinGW64多个版本区别
最新推荐文章于 2025-06-24 01:44:47 发布
本文探讨了三种异常处理机制:DWARF-2 EH( DW2EH,用于调试信息)的效率,SJLJ(基于setjmp/longjmp)的适用性,以及Windows上常用的SEH(结构化异常处理)。文章关注它们的优缺点和适用场景,解析了不同机制对可执行文件大小和性能的影响。
2498

被折叠的 条评论
为什么被折叠?



