在x64上mingw dw2例外

时间:2014-07-15 16:20:52

标签: c++ windows mingw x86-64

我正在使用Clang在Windows上编译一些代码。为了支持这一点,我使用了MinGW的libstdc ++。但现在我正在寻找64位而不是32位的编译,我似乎只能找到SEH或SJLJ异常模型。 Windows x64是否没有Itanium ABI例外?

1 个答案:

答案 0 :(得分:2)

不,MinGW不支持64位的DW2异常。

对于64位,您希望使用SEH异常,它优于SJLJ和DW2。当没有抛出异常时(例如DW2),SEH异常是低开销,而当抛出异常时,低开销,并且不占用过多的空间。

事实上,由于它的优点,实际总是希望使用SEH异常,即使在32位下也是如此,但不幸的是,由于Borland持有的美国专利,没有32位支持(5628016)。

虽然我很快就会期望实施32位支持,因为该专利于1994年6月15日提交并于1997年5月6日发布。如果我正在阅读6月8日之前提交的“申请, 1995年“规则权利,意味着它在签发日期(2014年5月8日)之后的17年或自申请日期(2014年6月15日)起20年后有效,以较长者为准。
换句话说,该专利应该在一个月前到期。