当前位置:  开发笔记 > 编程语言 > 正文

如何强制exe始终从内存加载

如何解决《如何强制exe始终从内存加载》经验,为你挑选了1个好方法。

使用标志(基于这篇文章)

IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP

IMAGE_FILE_NET_RUN_FROM_SWAP

当可执行文件位于LAN路径或可移动设备中时,可以将可执行文件加载到内存中.

即使exe在本地光盘上,有没有办法实现相同的目的?

我知道几乎没有性能提升,但要"摆脱光盘"这是一个想法.我没有在文档中找到这样的编译器选项.



1> David Heffer..:

即使exe在本地光盘上,有没有办法实现相同的目的?

不,那里没有.没有这样的PE旗帜.人们想象的那将是毫无意义的.为什么要从磁盘上的一个位置复制到另一个位置,然后加载映像的副本?

你用IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP和谈论性能改进IMAGE_FILE_NET_RUN_FROM_SWAP,但是你得到了错误的方法.使用这些标志时性能会更差.那是因为在映射可执行文件之前必须首先读取整个图像.如果没有这些PE标志,则可以映射图像并仅按需加载.此外,您占用交换文件中可能具有负面影响的空间.

您不使用这些标志来提高性能,因为它们不会提高性能,它们会使您的程序启动速度变慢.您使用这些标志来确保可靠性.将映像复制到本地交换文件后,在尝试按需加载部分可执行文件时,您不太可能遇到硬页面错误.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有