我可以在 .NET 应用程序的地址空间中重新排列 dll 映像,以提供更多连续的可用空间吗?

发布于 2024-08-19 02:11:46 字数 305 浏览 5 评论 0原文

替代文本 http://www.freeimagehosting.net/uploads/67f98ad782.png

图像显示了我的应用程序地址空间中的碎片。有没有办法强制(第三方)dll 映像(紫色)在一起以消除(或减轻)碎片?

该应用程序将在 32 位 XP 上运行;显然,当我们最终转向 64 位 Windows 7 时,这个问题就会消失。

谢谢!

alt text http://www.freeimagehosting.net/uploads/67f98ad782.png

This image shows fragmentation in my app's address space. Is there any way to force the (third-party) dll images (purple) together to eliminate (or mitigate) the fragmentation?

This app will run on 32-bit XP; obviously when we eventually move to 64-bit Windows 7, this problem will go away.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

弥繁 2024-08-26 02:11:46

是的,您可以对 .NET 程序集进行变基,但效​​果相当有限,因为 JIT 编译的代码将放置在代码堆上,并且不受变基影响。另外,从Vista 和转发图像加载器随机化加载以防止某些类型的利用,所以即使如果你变基,程序集将被加载到随机地址。

Yes you can rebase your .NET assemblies, but the effect is rather limited as the JIT compiled code will be placed on the code heaps and that is not affected by rebasing. Also, from Vista and forward the image loader randomizes loading to prevent certain kind of exploits, so even if you rebase the assemblies will be loaded at random addresses.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文