早就觉得WinCE里面Eboot的源代码质量不高,而且还有Bug,今天又发现一个:
dwNumBlocks = (dwImageLength / 0x4000) + 1;
这是烧写Stepldr和Eboot时候计算Block数的代码,Stepldr在第一块,即0,所以加1,但是Eboot的大小为256K,即0x40000,除以0x4000,正好不用加1,结果这个地方还加了个1,属于低级失误。真不知道微软怎么搞得
早就觉得WinCE里面Eboot的源代码质量不高,而且还有Bug,今天又发现一个:
dwNumBlocks = (dwImageLength / 0x4000) + 1;
这是烧写Stepldr和Eboot时候计算Block数的代码,Stepldr在第一块,即0,所以加1,但是Eboot的大小为256K,即0x40000,除以0x4000,正好不用加1,结果这个地方还加了个1,属于低级失误。真不知道微软怎么搞得