Bu 32bit Windows uygulamalarının 2 GB RAM ile sınırlı olduğunu okuyordum çünkü üstteki 2GB adresleme alanı Windows işletim sistemi (ve iirc, VRAM) için ayrılmıştır. 32-bit WinXp'de/3GB bayrağı kullanırsanız, adresleme için 3 GB'ye kadar RAM alabilirsiniz, ancak genellikle userva değerleri ile çimdiklemeniz gerekir. Bunu, büyük bir adres olarak PE başlığında ve 4 GB'den fazla RAM'in bilincinde bir bayrağıyla, Windows'un 64 bit sürümlerinde, bir uygulamanın kendi bellek yönetimi için 4 GB'lık adresleme alanının tamamını kullanabileceğini duydum.Büyük Adres Aware bayrağı, 64 bit bilgisayarlarda 32 bit uygulamalar için nasıl çalışır?
Diğer taraftan, windows API'yi çağırdığınızda, sağladığınız 32 bit adres alanı içinde bellek konumlarını çağırmanız gerektiğinden eminim. Yani, tam olarak ne kadar RAM bir 32-bit büyük adres, 64-bit ortamda, kendisi için uygulama kullanımı farkında olabilir? Ve neden?
Teşekkür ederiz.
Bir dakika bekleyin, bu durumda, 32 bit Windows Xp işletim sisteminde AWE'yi/3GB akıcılığı yerine 4 GB RAM'den düzgün şekilde yararlanmak için kullanmak mümkün mü? –
+1/LARGEADDRESSAWARE altında çalışmayı planlıyorsanız, çeşitli yazılımların 32 bit işaretçilerden> 2GB ile hataları olduğu konusunda uyarınız. Hatta bazı MS API fonksiyonları (Size Vista'da GetCursorPos'a bakıyorum!) Bu sorunları ortadan kaldırmanın yolu ve ihtiyacınız varsa bunları çalıştırmak [üst bellek ayırma] kullanmaktır (http://msdn.microsoft) kayıt defteri ayarıyla etkinleştirilen .com/ja-jp/isv/bb190527 (l = tr-us)). –
Evet, ancak fiziksel bellek sayfalarını açık bir şekilde sanal adres alanına eşlemeniz gerekir. Eski bir DOS döneminden geçiş yapan VESA bankasına benzer. – MSN