|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Mar 2007
Città: Napoli
Messaggi: 2395
|
Come attivare il Flag LARGE ADDRESS AWARE per una specifica applicazione?^^?
salve a TUTTI!
è la prima volta che posto in questa sezione e a dir la verità è la prima volta che mi cimento in cose un pò particolari come queste. QUADRO HARDWARE E SO allora io ho windows xp home edition 32bit attualmente sul mio sitema fisicamente ho montati 4gb di ram ddr2 divisi in due moduli da 2gb ciascuno in dual channel COSA HO FATTO FIN ORA attualmente ho fatto solo una modifica...ovvero la modifica per far dedicare 3gb di ram alle applicazioni generiche e 1Gb intero per il kernel...naturalmente non si parla di ram fisica con questi numeri ma ram virtuale(poi vede il pc quale effettivamente utilizzare) per fare questo ho modificato il file di boot aggiungendo alla riga giusta: /3GB /Userva=2900 la riga modificata è questa: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Home" /FASTDETECT /NOEXECUTE=OPTIN /3GB /Userva=2900 QUELLO CHE VOGLIO FARE ADESSO Adesso per i programmi sono dedicati 3gb di ram come già detto sopra, ma mi manca ancora un elemento ovvero come far in modo che il SO riconosca che una singola applicazione specifica possa utilizzare 3Gb di ram. Da quello che ho letto in giro nei sistemi a 32bit ogni singola applicazione può potenzialmente richiedere 2gb di ram tutti per se(questo il più delle volte non è necessario) Ogni .exe ha una bandiera, un FLAG che fa capire al SO quanta ram gli deve potenzialmente concedere(abbiamo detto che nei 32bit è minore di 2gb mentre nei 64bit è maggiore di 2gb), questo flag è chiamato LAA ovvero LARGE_ADDRESS_AWARE e di fatto su macchine a 32bit è impostato sempre su OFF. Io sono più che altro un giocatore, ne capisco di hardware e di software ma sempre per fini ludici...ed ecco il mio fine: devo abilitare il FLAG LARGE_ADDRESS_AWARE di un .exe di red alert 3(gioco) per fargli utilizzare in potenza 3GB di ram (che in ram fisica si tradurranno con circa 2.2Gb di ram effettiva) in passato già l' ho fatto per il primo supreme commmader con un tool l' editbin...ma gli autori del forum dove l' ho trovato (con istruzioni e spiegazione annesse) lo hanno modificato solo per trovare e modificare l' .exe di questo gioco in particolare e non funziona con altri .exe. Chiedo a voi esperti se potreste darmi link per questo editbin senza personalizzazioni o in alternativa altri software o procedure atte ad attivare il FLAG LARGE_ADDRESS_AWARE in un .exe Inoltre mi piacerebbe approfondire l' argomento RAM perchè devo dire che si tratta di roba molto interessante anche se svia dai giochini. grazie a tutti scusate se ho scritto qualche castroneria ma resto pur sempre un novizio...sorry Ultima modifica di Spike88 : 29-12-2008 alle 19:31. |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Mar 2007
Città: Napoli
Messaggi: 2395
|
nessuno?^^?
help please dove siete guru?==? |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Non ho mai giocato con la struttura degli exe, ma se non ricordo male non si può assegnare 3GB di ram in esclusiva a un'applicazione: la ram viene sempre condivisa con le altre che girano, e quindi swappata eventualmente su disco alla bisogna.
Quindi anche se riesci a modificare l'exe e gli assegni 3GB di ram, il s.o. può comunque toglierla all'applicazione. Questo per lo meno è ciò che ricordo. So che è anche possibile allocare memoria "non swappable", quindi privata per l'applicazione, ma non mi pare sia possibile specificarlo in un flag dell'exe. Anzi, lo riterrei abbastanza pericoloso.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#4 | |
Bannato
Iscritto dal: Mar 2007
Città: Napoli
Messaggi: 2395
|
Quote:
da quello che sto leggendo in rete l' editbin fa parte del C++ ...oppure sono io che ho letto male? guru in sciopero di questi tempi eh? ![]() |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
A quanto sembra è un'opzione del linker, il problema è scovare in quale punto dell'exe è inserita.
Prova a confrontare un exe patchato ed uno oritignale con un editor esadecimale e a vedere in quale punto risiedono le differenze. Se è un'opzione del formato dell'eseguibile dovrebbe bastare. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
editbin è un programma di utilità che si trova in Visual Studio:
setting the LARGE_ADDRESS_AWARE flag can be done using the editbin tool found with Visual Studio. You can also use the tool and specify LARGE_ADDRESS_AWARE:NO, which results in a slightly different EXE from what original one is. Non ho Visual Studio, non ti posso aiutare. setting this bit directly in the executable - using the program editbin.exe located in C:\Program files\Microsoft Visual Studio .NET\Vc7\bin like this: c:\(...)\Vc7\bin> editbin.exe /LARGEADDRESSAWARE \Path\To\The\Program.exe Afterwards this bit can be checked with the dumpbin.exe utility: c:\(...)\Vc7\bin> dumpbin.exe /headers \Path\To\The\Program.exe Among other things a line like this one should appear: Application can handle large (>2GB) addresses Ultima modifica di cionci : 30-12-2008 alle 16:59. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Dec 2007
Messaggi: 1485
|
sulle applicazioni professionali è abilitato di default, sul mio notebook al lavoro ho raggiunto i 2.7 giga per la singola applicazione (cad 3d), solo aggiungendo il /3gb al boot ini..
cmq abbiamo preso l'abitudine di usare tutto ciò che troviamo a 64 bit per ovviare definitivamente a questo problema...ovviamente cosa che non puoi fare facilmente coi giochi :P bio |
![]() |
![]() |
![]() |
#8 |
Bannato
Iscritto dal: Mar 2007
Città: Napoli
Messaggi: 2395
|
qualcuno di voi questo visual studio lo sa utilizzare?^^?
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
![]() |
![]() |
![]() |
#10 |
Bannato
Iscritto dal: Mar 2007
Città: Napoli
Messaggi: 2395
|
cionci non sono praticissimo potresti spiegarmi più passo passo coem fare?^^?
thanks per la tu adisponibilità ![]() |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
C'è già scritto passo passo:
Vai in cmd e ti sposti nella directory C:\Program files\Microsoft Visual Studio .NET\Vc7\bin o C:\Programmi\Microsoft Visual Studio .NET\Vc7\bin editbin.exe /LARGEADDRESSAWARE \Path\To\The\Program.exe dumpbin.exe /headers \Path\To\The\Program.exe Fra varie altre linee dovrebbe apparire questa: Application can handle large (>2GB) addresses |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:42.