在ReactOS中关于SEH有以下部分:
for(;;) \ { \ _SEH_INIT_CONST int _SEHTopTryLevel = (_SEHScopeKind != 0); \ _SEHPortableFrame_t * const _SEHCurPortableFrame = _SEHPortableFrame; \ _SEHPortableTryLevel_t * const _SEHPrevPortableTryLevel = _SEHPortableTryLevel; \ \ { \ _SEH_INIT_CONST int _SEHScopeKind = 0; \ register int _SEHState = 0; \ register int _SEHHandle = 0; \ _SEHFrame_t _SEHFrame; \ _SEHTryLevel_t _SEHTryLevel; \ _SEHPortableFrame_t * const _SEHPortableFrame = \ _SEHTopTryLevel ? &_SEHFrame.SEH_Header : _SEHCurPortableFrame; \ _SEHPortableTryLevel_t * const _SEHPortableTryLevel = &_SEHTryLevel.ST_Header; \ \ (void)_SEHScopeKind; \ (void)_SEHPortableFrame; \ (void)_SEHPortableTryLevel; \ (void)_SEHHandle; \ \ for(;;) \ { \ if(_SEHState) \ { \ for(;;) \ { \ { 其中的 (void)_SEHScopeKind; \ (void)_SEHPortableFrame; \ (void)_SEHPortableTryLevel; \ (void)_SEHHandle; \ 这几句为何要进行强制类型转换,而转换后又不用,不知这几句语句有何作用呢?去掉有何影响?