最近看了解析DVD中IFO文件的代码
其中看到这里
PBYTE pCellPos = pgc + get2Bytes(pgc + 0xEA);
注:pgc为结构的起始地址,如果求0x000000EA处的地址的话
直接pgc+0xEA就行了
我不知道pgc + get2Bytes(pgc + 0xEA);的含义
其中get2Bytes函数代码如下:WORD CIFO::get2Bytes(PBYTE pBuf)
{
return pBuf[1] | (pBuf[0] << 8);
}哪位老大给说说求地址pgc + get2Bytes(pgc + 0xEA);是什么意思

解决方案 »

  1.   

    get2Bytes 取前两个字节,等于是取得pgc + 0xEA 的前两个字节
      

  2.   

    结构体pgc + 0xEA处保存的是实际的偏移值
      

  3.   

    这里不是要求求0x000000EA处的地址,而是要将结构体偏移0x000000EA处的值拿出来
      

  4.   

    为什么pBuf[1] | (pBuf[0] << 8);是取前两个字节
    能举个简单的例子吗,小弟愚笨