C++ x64上的mingw dw2异常

C++ x64上的mingw dw2异常,c++,windows,mingw,x86-64,C++,Windows,Mingw,X86 64,我正在使用Clang在Windows上编译一些代码。为了支持这一点,我使用了MinGW的libstdc++。但现在我考虑编译64位而不是32位,我似乎只能找到SEH或SJLJ异常模型。Windows x64是否没有安腾ABI异常?否,MinGW不支持64位的DW2异常 对于64位,您希望使用SEH异常,这优于SJLJ和DW2。SEH异常在没有引发异常时(如DW2)的开销较低,在引发异常时的开销也较低,并且不会占用过多的空间 事实上,由于它的优点,您实际上总是希望使用SEH异常,即使是在32位下,

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

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

对于64位,您希望使用SEH异常,这优于SJLJ和DW2。SEH异常在没有引发异常时(如DW2)的开销较低,在引发异常时的开销也较低,并且不会占用过多的空间

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

尽管我很快就会期望实现32位支持,因为该专利于1994年6月15日提交,1997年5月6日发布。如果我阅读“1995年6月8日之前提交的申请”规则,这意味着其有效期为发行日期(2014年5月8日)后17年或自提交日期(2014年6月15日)起20年,以较长者为准。

换句话说,这项专利应该在一个月前到期。

如果Clang不支持,我就失去了任何技术优势。(另外,我知道x86版本的SEH与x64非常不同)。