64位Windows上的PE文件的最大大小是多少?
发布时间:2020-12-14 01:39:59 所属栏目:Windows 来源:网络整理
导读:在我看来,它总是要4GB,因为它使用相同大小的数据类型(A DWORD)? SizeOf Image的DWORD是不是总是32位?还是我错了这个限制? 回答 4GB确实似乎是所有便携式可执行程序(32位和64位PE)的硬限制. 根据 spec,PE32图像的32位无符号值就像PE32图像一样. 但是,在我
在我看来,它总是要4GB,因为它使用相同大小的数据类型(A DWORD)? SizeOf
Image的DWORD是不是总是32位?还是我错了这个限制?
回答 4GB确实似乎是所有便携式可执行程序(32位和64位PE)的硬限制.
根据
spec,PE32图像的32位无符号值就像PE32图像一样.
但是,在我使用Windows 7 SP1 Home Premium x64上的32位和64位应用程序(PE32 / PE32文件)进行测试时,两者的最大文件大小在1.8-1.85GB之间. 我通过使用Visual Studio(?8K为32位和9K为64位)创建一个非常基本的C可执行程序,并添加了一个空代码段到PE头,直到Windows不再加载它,然后二进制搜索极限.使用vmmap查看进程显示,几乎所有第一个2GB的地址空间都是映像(包括随后加载的任何DLL,如kernel32.dll).对于32位和64位进程,我的限制是一样的. 64位进程的NT标头的文件头部分中设置了标志,指出它可以处理地址> 2GB.它也可以为高于2GB限制的非图像部分分配内存. 看起来像是需要在整个进程的2GB空间中整合图像,这意味着SizeOfImage被有效地处理了一个带符号的32位整数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows系统CPU内存网络性能统计第四篇 CPU 多核CPU各核使用
- 引用子项目的所有项目都必须安装NuGet软件包Microsoft.Bcl.
- 仅适用于Windows API的Windows CE 5.0全屏窗口
- cpu-architecture – 在32位Windows下使用Amd64指令的轻量级
- 批处理文件 – 循环的批处理文件通过类交叉转换参数?
- 在Windows上打印源代码
- 如何识别通过远程桌面连接到Windows服务器的用户
- Safari中的window.onerror(Javascript)
- 如何从’call’ed例程中终止Windows批处理文件?
- windows – 如何禁用引号的自动配对[closed]
推荐文章
站长推荐
- 如何在Windows任务栏中删除多个emacs实例
- windows – 如何对Inno Setup生成的卸载文件进行
- Microsoft Edge浏览器javascript运行时“权限被拒
- 在Windows 7上的Haskell平台中使用Curl
- windows-phone-8 – 使用Flip tile实现循环磁贴行
- windows-runtime – 如何在WinRT中读取UFT8或UTF
- 数百万UINT64 RGBZ图形像素的最快排序算法
- iis-7.5 – 使用集成管道模拟域用户
- microsoft-graph – 来自Microsoft Graph API请求
- windows-server-2008-r2 – 用户权限分配策略与本
热点阅读