微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Visual Studio 嵌入大型资源文件近 4GB

如何解决Visual Studio 嵌入大型资源文件近 4GB

我正在尝试嵌入一个大型资源文件(几乎 4GB),它是一个 .dat 文件。但是我遇到了引发错误的问题

"Error reading resource 'Sx64.x-none.dat' -- 'Specified argument was out of the range of valid values.

Visual Studio 的嵌入资源的大小似乎有限制。有没有办法增加最大尺寸?或其他一些解决方法?我试图不使用链接的资源或使用 exe 复制另一个文件

解决方法

虽然在 PE 格式规范中,SizeOfImage 值是一个 32 位无符号整数,理论上最多可以处理 4 GiB,但实际上可执行文件的限制更低。 stackoverflow 上的某个用户 here 已经测试了这种行为。然而,仍然可以使可执行文件更大并可以工作(仅在 64 位 Windows 上),但数据必须保存在文件结尾处的图像部分之外,因此加载程序不会尝试分配它。这是一个不好的做法,我建议,正如其他人在评论中所建议的那样,将它与您的可执行文件一起放在一个单独的文件中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。