2010-01-26 6 views
2

alt text http://www.freeimagehosting.net/uploads/67f98ad782.pngМогу ли я изменить порядок изображений dll в адресном пространстве моего .NET приложения, чтобы сделать доступным более свободное пространство?

Это изображение показывает фрагментацию в адресном пространстве моего приложения. Есть ли способ принудительно (DLL-изображения сторонних) (фиолетовый) совместно устранить (или смягчить) фрагментацию?

Это приложение будет работать на 32-разрядной XP; очевидно, когда мы в конечном итоге перейдем на 64-битную Windows 7, эта проблема исчезнет.

Спасибо!

+0

Удивительный вопрос. Вы имеете в виду сборки, неуправляемые библиотеки DLL или и то, и другое? –

+1

Вы пытаетесь решить настоящую проблему или просто хотите сделать это, чтобы «выглядеть» чище? –

+0

Это очень реальная проблема. – Chris

ответ

4

Да, вы можете перезагрузить свои сборки .NET, но эффект ограничен, поскольку скомпилированный код JIT будет помещен в кучи кода, и на него не повлияет перезагрузка. Кроме того, от Vista and forward the image loader randomizes loading для предотвращения определенных видов эксплойтов, так что даже если вы перезагрузите сборку, будут загружены случайные адреса.