1

我不是程序员(开始学习 Python)。

请帮助我理解这个伪代码:

     {
  if ( !*(sub_676578() + 2644) )
  {
    EnterCriticalSection(&CriticalSection);
    ++dw_FrameCounter;
    if ( !b_AnimFlag )
    {
      if ( !b_PauseFlag )
      {
        dw_TFraction += 1092;
        if ( dw_TFraction >> 16 )
        {
          ++dw_TSeconds;
          dw_TFraction = dw_TFraction;
        }
        dw_CDFraction += 1092;
        if ( dw_CDFraction >> 16 )
        {
          if ( b_TimerDirection & 2 )
          {
            ++dw_CDSeconds;
          }
          else
          {
            if ( dw_CDSeconds )
              --dw_CDSeconds;
          }
          dw_CDFraction = dw_CDFraction;
        }
      }
    }
    LeaveCriticalSection(&CriticalSection);
  }
}

我特别不明白'IF'行。我也不明白为什么dword_DC08C0 = dword_DC08C0;存在

编辑:如果您想查看整个功能,请点击此处: http: //pastie.org/8306763

4

1 回答 1

4

这段代码可以转换为更易读的形式:

if ( byte_DC0E70 == 0 )
{
   dword_DC08C0 += 1092;
   if ( ( dword_DC08C0 / 65536 ) != 0 )
   {
      dword_DC08B8 += 1;
      dword_DC08C0 = dword_DC08C0;
   }   
}

由于没有任何上下文,进一步的解释变得复杂。

于 2013-09-07T20:02:06.960 回答