|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
Come si fa a programmare a 64 bit ?
ciao a tutti ... è da un po di tempo che ho una domanda (potrà essere anche stupida ma sempre una domanda è
In c++ quando programmo e voglio creare un programma ... posso scegliere solo Win32 Console Application Win32 Application come faccio se voglio programmare a 64 bit ? e che differenza c'è tra 32 e 64 ? GRAZIE e ciao |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
lo sviluppo a 64 bit non é supportato dall'edizione Express di Visual C++, quindi devi anzitutto avere una delle edizioni a pagamento (oppure fare tutto a mano col Windows SDK).
poi mi pare di ricordare che devi comunque creare un progetto relativo a Win32, peró tra le architetture target all'interno del Configuration Manager devi aggiungere l'architettura a 64 bit che vuoi, x64 o Itanium (o anche tutte e due). |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Diverse, ma con un linguaggio di più alto livello (rispetto a linguaggio macchina e assembly) come il C è molto difficile coglierle.
__________________
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 |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quello è il minimo. Con x86-64 Sono anche raddoppiati sia i registri generali che quelli SSE.
E qualche altra cosuccia di cui, appunto, non te ne accorgeresti se non lavorando in linguaggio macchina o assembly.
__________________
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 |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
Quote:
i tipi avranno dimensione maggiore : come gli int, i double ... etc ? solo questo ? |
|
|
|
|
|
|
#8 | ||
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
ultima voce del menu Build. non credevo ci volesse tanto a trovarlo...
Quote:
Quote:
esempio: UINT e UINT32 sono a 32 bit, UINT64 é a 64 bit, UINT_PTR é a 32 bit se compili per Win32 e a 64 se compili per Win64. qua trovi la panoramica completa: http://msdn.microsoft.com/en-us/libr...51(VS.85).aspx e in generale qui la panoramica sullo sviluppo a 64 bit in Visual C++: http://msdn.microsoft.com/en-us/library/h2k70f3s.aspx se invece programmi per Linux, che Dio t'aiuti
|
||
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
Quote:
|
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
Quote:
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
x64 e Itanium sono due architetture a 64 bit completamente diverse. Praticamente l'unica cosa in comune sono... i 64 bit.
Rispondendo a un dubbio di cui sopra, i double rimangono esattamente gli stessi. Semplicemente i long long o gli __int64 (a seconda del compilatore) anziché essere processati come coppie di valori a 32 bit, vengono elaborati come singolo valore a 32 bit. Inoltre i puntatori passano da 32 a 64 bit. Sulle tue considerazioni su cosa è meglio, diciamo che mediamente il codice x64 è più veloce di quello a 32 bit del 10-15% (ma occupa anche un po' di spazio in più per il codice e i puntatori).
__________________
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 |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
@Alex_87_xelA: le architetture a 64 bit non mi risulta che siano supportate da Visual Studio 6.0 perché 10 anni fa non esistevano ancora.
quota meglio quando rispondi per favore |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
Quote:
anzi così va bene ? |
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
Quote:
ti ringrazzio pr le eventuali risposte Ultima modifica di Alex_87_xelA : 07-12-2008 alle 17:21. |
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Non puoi mischiare le due cose: gli eseguibili sono generati sempre per una ben precisa architettura.
Con .NET, invece, le cose sono cambiate: viene generato UN solo "eseguibile" che viene poi convertito nel codice binario dell'architettura su cui sta girando.
__________________
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 |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
Quote:
(è solo un esempio) #ifdef WIN32 ... ... #else if defined WIN64 ... ... #endif ed una volta includerò WIN32 e la seconda WIN64 ed avrò i 2 eseguibili ? |
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
poi scusate una domanda banale ...
in Visual Studio 6 c'èra in project la voce setting ... dove si poteva settare le direttive del preprocessore da includere ... l'ottimizzazione ... il warning level ... ma tutto questo in visual studio 08 dove stà ? |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Francamente non ricordo.
Per risponderti alla domanda di prima: no, non servono le direttive condizionali. Se vuoi generare un eseguibile a 32 bit o a 64 bit, devi selezionare un apposito parametro del compilatore.
__________________
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 |
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
Quote:
#ifdef WIN32 #define INT INT32 #else if defined WIN64 #define INT INT64 #endif in modo che se usavo un'architettura a 32 bits utilizzavo int a 32 altrimenti 64. ------------------------- poi ti ricordi per caso quale paramentro ? ti riferisci al configuration manager ? Ultima modifica di Alex_87_xelA : 07-12-2008 alle 21:54. |
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Sì.
Sulle direttive OK: molti sorgenti fanno delle scelte in base all'architettura target.
__________________
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 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:15.




















