18
Ian
2011

Procesoarele pe 64 de biti sunt pe cale sa le inlocuiasca complet pe cele pe 32 de biti. Desi aplicatiile pe 32 de bit pot sa ruleze in continuare pe Windows 64-biti (datorita unui subsistem numit WOW64 - Windows 32-bit on Windows 64-bit), unele dintre acestea se vor dori portate nativ pe sistemele cu 64 de biti. Printre avantaje se numara accesul la mai multa memorie sau accesul la functii specifice sistemului pe 64-biti. Pentru a putea porta aplicatii existente, sau a crea noi aplicatii care sa tinteasca si platformele pe 64-biti, primul pas il reprezinta adaugarea acestor platforme la solutii si proiecte.

Exista doua platforme pe 64-biti: x64 si IA64. Prima dintre ele este compatibila cu arhitectura x86 si reprezinta versiunea main-stream pentru procesoarele pe 64-biti. IA64 este incompatibila cu x86, procesoarele de acest tip fiind folosite in special pentru servere enterprise sau de inalta performanta. In acest articol vom discuta despre arhitectura x64. Configurari pentru IA64 se pot face in mod asemanator.

Adaugarea platformei x64 la o solutie

In mod implicit, wizardul din VC++ nu adauga decat platforma x86 atunci cand se creaza un nou proiect VC++ (sub numele Win32). Probabil acest lucru se va schimba in viitor, dar in versiunile curente, platforma x64 trebuie adauga manual. In imaginea de mai jos se poate vedea configuratia stardard pentru o solutie cu proiecte VC++.

In urmatoarea imagine avem ca exemplu o solutie cu doua proiecte VC++, unul de tip Win32 DLL si o aplicatie consola care foloseste acel DLL.

Platformele (x86, x64, IA64, etc.) pot fi definite la nivel de proiect si la nivel de solutie. Este posibil ca unele proiecte sa aiba definite unele platforme, iar alte proiecte alte platforme. Daca deschideti fereastra Configuration Manager pentru solutie veti vedea platformele disponibile pentru solutie, si respectiv pentru fiecare proiect in parte. Asa cum spuneam, nu e necesar sa fie aceleasi.


Vezi imaginea la dimenisunea normala

Managerul de configuratii permite setarea pentru fiecare pereche de configuratie + platforma a solutiei, ce platforma se foloseste pentru fiecare proiect in parte. Astfel, in teorie se poate configura de exemplu pentru Debug cu Win32 la nivel de solutie, platformele Win32 pentru un proiect (ex. DemoProject) si x64 pentru altul (eg. DemoLibrary). Desigur ca in practica acest lucru n-ar fi de mare ajutor, si veti dori ca pentru Win32 toate proiectele sa tinteasca platforma x86, iar pentru x64 platforma cu acelasi nume.

Pentru a adauga platforma x64 la solutie, expandati combo-ul Active solution platform si selectati <New...>. Va aparea dialogul New Solution Platform care permite adugarea unei noi platforme tinta. Selectati x64 si pentru Copy settings from alegeti Win32.

Dupa aceasta bifati optiunea Create new project platforms. Aftfel, platforma x64 va fi adaugata de asemenea pentru fiecare proiect existent in acel moment in solutie.

Dupa acest pas, platforma x64 va fi disponibila in managerul de configuratii pentru solutie si pentru toate proiectele, astfel incat se pot face setarile corespunzatoare.


Vezi imaginea la dimenisunea normala

De asemenea in combo-ul pentru platformele la nivel de solutie va apare pe langa Win32 si x64.

Adaugarea platformei x64 pentru un nou proiect

Sa luam in considerare situatia cand dupa ce am adaugat platforma la solutie, adaugam un nou proiect VC++. Pentru ca wizardul nu adauga suport pentru x64, acesta va avea definita doar platforma Win32 (adica x86). Sa consideram ca la exemplul anterior al solutiei cu 2 proiecte, adaugam un nou proiect, sa-l numim DemoLibrary2. Solutia va arata asa:

In managerul de configuratii se observa ca noul proiect are doar platforma Win32 definita.


Vezi imaginea la dimenisunea normala

Pentru a defini platforma x64, folositi combo-ul pentru platformele de proiect si alegeti <New...> pentru a deschide dialogul New Project Platform. Selectati x64 ca platforma noua, dar asigurati-va ca optiunea Create new solution platforms nu este bifata. In caz contrar va apare o eroare, intrucat aceasta platforma este deja definita la nivel de solutie.

Dupa aceste modificari platforma x64 va fi disponibila pentru noul proiect, si puteti face setarile corespunzatoare in managerul de configuratii.


Vezi imaginea la dimenisunea normala

Note

Acest articol abordeaza doar modalitatea de adauga a platformei x64 pentru proiectele VC++, nu si configurarile ulterioare care sunt necesare (daca nu sunt implicite) la nivel de unelte de build (compilator, linker, si altele).

[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/db/driver/mysqli.php on line 317: mysqli_free_result(): Couldn't fetch mysqli_result