2010-01-26 21 views
2

alt text http://www.freeimagehosting.net/uploads/67f98ad782.pngPuis-je réorganiser les images dll dans l'espace d'adressage de mon application .NET afin de libérer de l'espace libre contigu?

Cette image montre la fragmentation dans l'espace d'adressage de mon application. Existe-t-il un moyen de forcer les images dll (en partie tierces) (violet) ensemble à éliminer (ou atténuer) la fragmentation?

Cette application fonctionnera sur XP 32 bits; évidemment, quand nous passerons finalement à Windows 7 64 bits, ce problème disparaîtra.

Merci!

+0

Question impressionnante. Voulez-vous parler d'assemblys, de DLL non gérées ou des deux? –

+1

Etes-vous en train d'essayer de résoudre un vrai problème ou vous voulez juste le faire pour qu'il soit "propre"? –

+0

C'est un vrai problème. – Chris

Répondre

4

Oui, vous pouvez rebaser vos assemblys .NET, mais l'effet est plutôt limité car le code compilé JIT sera placé sur les tas de code et n'est pas affecté par le rebasage. En outre, à partir de Vista and forward the image loader randomizes loading pour empêcher certains types d'exploits, même si vous rebassez les assemblys seront chargés à des adresses aléatoires.