是否可以使用VC (最好是最新版本之一)并使用C++异常,这些异常不是在SEH上实现的?
注意-我不是指使用C++ catch子句(/Eha \ /Ehsc)来捕获SEH异常,我是指使用C++异常,而不是让SEH异常在后台飞来飞去。
发布于 2014-11-15 05:05:21
默认情况下,C++异常构建在SEH之上。
改变这一点是可能的,但你必须重写运行时的很大一部分,并自己实现帧处理逻辑(读作:大量汇编)。
由于32位和64位版本中堆栈帧布局的巨大差异(对于x86),您不能在它们之间重用太多代码(64位EH还需要深入研究PE映像的另一个区域)。
也就是说,除非真的真的需要,否则只需确保您的代码尽可能地可移植,就像在其他地方使用异常一样。在很大程度上,你可以假装SEH不在那里。
https://stackoverflow.com/questions/26938788
复制相似问题