根据EXE文件头计算出来的文件长度与实际长度为何不一样?
ksaii 2000-08-19 01:28:00 一个DOS下的exe可执行文件,文件头前几个字节的内容如下:
00H:4D 5A ;M Z
02H:60 00 ;可执行程序长度MOD 512
04H:5C 00 ;92,可执行文件的页长度
06H:00 00 ;重定位表数目
08H:04 00 ;文件头大小in 16 bytes
根据上面信息计算文件长度为:(0x5c-1)*512+0x60=46688
而实际这个文件的长度为:1,014,725 字节
请问会是什么原因?
注:此exe文件为用Watcom C/C++开发的,用到了DOS4G,是
保护模式的可执行文件,不知是否和这个原因有关?
先谢谢了!