分类
GCC

mingw-w64:seh还是sjlj?

SJLJ(setjmp / longjmp):

可用于32位和64位
而不是“零成本”:即使没有抛出异常,也会导致轻微的性能损失(异常重代码中约为15%)但有时可能会受到惩罚更重要的是:https://bugreports.qt-project.org/browse/QTBUG-29653
允许例外遍历例如Windows回调

DWARF(DW2,dwarf-2)

仅可用于32位
没有永久运行时开销
需要整个调用堆栈要启用dwarf,这意味着不能抛出异常,例如Windows系统DLL。

SEH(零开销异常)

将适用于64位GCC 4.8。
rubenvb发布可用[sourceforge.net]目标Win64 / Personal Builds / rubenvb / gcc-4.8-release / x86_64-w64-mingw32-gcc-4.8.0-win64_rubenvb.7z /下载
MinGW-builds发布可用[sourceforge.net ] 

推荐使用SEH

发表评论

电子邮件地址不会被公开。 必填项已用*标注