Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-12-2008, 18:31   #1
Alex_87_xelA
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 è ) da fare.

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
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2008, 19:06   #2
fero86
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).
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2008, 20:16   #3
Alex_87_xelA
Senior Member
 
Iscritto dal: Nov 2008
Messaggi: 530
Quote:
Originariamente inviato da fero86 Guarda i messaggi
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).
dove si trova questo Configuration Manager ?
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2008, 21:06   #4
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Alex_87_xelA Guarda i messaggi
e che differenza c'è tra 32 e 64 ?
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2008, 21:09   #5
Alex_87_xelA
Senior Member
 
Iscritto dal: Nov 2008
Messaggi: 530
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Diverse, ma con un linguaggio di più alto livello (rispetto a linguaggio macchina e assembly) come il C è molto difficile coglierle.
beh hai ragione ... cambierà la dimensione dei registri no ?
sia dati che indirizzi !!!
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 06-12-2008, 07:43   #6
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 06-12-2008, 13:10   #7
Alex_87_xelA
Senior Member
 
Iscritto dal: Nov 2008
Messaggi: 530
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
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.
e che benefici si possono avere con 64 bits in piu rispetto ai 32 ? (parlando di alto livello)

i tipi avranno dimensione maggiore : come gli int, i double ... etc ?
solo questo ?
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 06-12-2008, 14:19   #8
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da Alex_87_xelA Guarda i messaggi
dove si trova questo Configuration Manager ?
ultima voce del menu Build. non credevo ci volesse tanto a trovarlo...



Quote:
Originariamente inviato da Alex_87_xelA Guarda i messaggi
e che benefici si possono avere con 64 bits in piu rispetto ai 32 ? (parlando di alto livello)
codice macchina piu veloce, programma piu performante: tieni presente che con uno stesso numero di colpi di clock puoi spostare esattamente il doppio dei bit. ma questo é il minimo, il raddoppiamento del bus di dati e indirizzi non é l'unico miglioramento introdotto dalle due architetture a 64 bit.


Quote:
i tipi avranno dimensione maggiore : come gli int, i double ... etc ?
solo questo ?
non so per i double, ma gli int sono rimasti uguali. in generale evita di ragionare coi tipi del C, usa sempre i tipi Win32, per i quali la dimensione é ben definita. con l'introduzione di Win64 la dimensioni dei tipi preesistenti é rimasta uguale, in piu sono stati introdotti dei tipi che sono esplicitamente a 64 bit (suffisso "64" nel nome) e dei tipi portabili tra Win32 e Win64 (suffisso "_PTR" nel nome).

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
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 02:23   #9
Alex_87_xelA
Senior Member
 
Iscritto dal: Nov 2008
Messaggi: 530
Quote:
Originariamente inviato da fero86 Guarda i messaggi
ultima voce del menu Build. non credevo ci volesse tanto a trovarlo...

TROVATO !!!

codice macchina piu veloce, programma piu performante: tieni presente che con uno stesso numero di colpi di clock puoi spostare esattamente il doppio dei bit. ma questo é il minimo, il raddoppiamento del bus di dati e indirizzi non é l'unico miglioramento introdotto dalle due architetture a 64 bit.

Quindi in generale un'applicazione a 64 bits è Migliore ?
Quindi windows 64 bits è migliore di quello 32 ?


non so per i double, ma gli int sono rimasti uguali. in generale evita di ragionare coi tipi del C, usa sempre i tipi Win32, per i quali la dimensione é ben definita. con l'introduzione di Win64 la dimensioni dei tipi preesistenti é rimasta uguale, in piu sono stati introdotti dei tipi che sono esplicitamente a 64 bit (suffisso "64" nel nome) e dei tipi portabili tra Win32 e Win64 (suffisso "_PTR" nel nome).

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.

Hai ragione ... sono i tipi riferiti al sistema che cambiao di dimensione

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
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 02:28   #10
Alex_87_xelA
Senior Member
 
Iscritto dal: Nov 2008
Messaggi: 530
Quote:
Originariamente inviato da fero86 Guarda i messaggi
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).

c'è in Visual Studio 6.0 ? oppure solo nel 08 ?

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).

cosa cambia tra x64 e Itanium ? e poi se le utilizzo tutte e due assieme cosa COMBINO ? cioè quando poi vado a compilarlo e linkarlo viene generato codice per entrambi le architetture ?
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 08:17   #11
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 11:59   #12
fero86
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
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 17:17   #13
Alex_87_xelA
Senior Member
 
Iscritto dal: Nov 2008
Messaggi: 530
Quote:
Originariamente inviato da fero86 Guarda i messaggi
@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
scusa per la QUOTATURA farò di meglio !!!
anzi così va bene ? (scherzo ovviamente)
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 17:18   #14
Alex_87_xelA
Senior Member
 
Iscritto dal: Nov 2008
Messaggi: 530
Quote:
cosa cambia tra x64 e Itanium ? e poi se le utilizzo tutte e due assieme cosa COMBINO ? cioè quando poi vado a compilarlo e linkarlo viene generato codice per entrambi le architetture ? e come faccio ad utilizzare ad esempio Win32 ed x64 contemporaneamente ? ho cercato di fare qualcosa ma NADA !!!
alla prima gia hai risposto (e ti ringrazzio)(l'ho aggiunta per far capire poi il discorso).
ti ringrazzio pr le eventuali risposte

Ultima modifica di Alex_87_xelA : 07-12-2008 alle 17:21.
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 20:49   #15
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 21:16   #16
Alex_87_xelA
Senior Member
 
Iscritto dal: Nov 2008
Messaggi: 530
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
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.
quindi ... visto che posso fare una cosa alla volta dovro fare una cosa del tipo
(è solo un esempio)

#ifdef WIN32
...
...
#else if defined WIN64
...
...
#endif

ed una volta includerò WIN32 e la seconda WIN64 ed avrò i 2 eseguibili ?
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 21:18   #17
Alex_87_xelA
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à ?
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 21:31   #18
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 21:39   #19
Alex_87_xelA
Senior Member
 
Iscritto dal: Nov 2008
Messaggi: 530
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
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.
avevo utilizzato le direttive condizionali perchè ad esempio nelle applicazione win ... quindi non console è possibile scegliere tra INT32 e INT64 ... perquesto facevo una cosa del genere

#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.
Alex_87_xelA è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 22:51   #20
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
PLAI DEMO DAY: si chiude il secondo cicl...
Google rilascia Nano Banana Pro: il nuov...
ChatGPT si rinnova ancora: disponibile l...
Ring lancia super sconti di Black Friday...
Black Friday 2025: 450 euro di sconto su...
Tutte le offerte Blink in un unico posto...
OpenAI e Foxconn uniscono le forze per r...
Ricarica delle auto elettriche in 3 minu...
Lucid presenta Gravity Touring, il SUV e...
Meta è stata condannata in Spagna...
Chat di gruppo su ChatGPT: al via la fas...
Ubisoft, dietro la trimestrale rimandata...
Gli sviluppatori di Genshin Impact hanno...
Poltronesofà colpita da ransomwar...
FSD e Autopilot: Tesla aggiorna i dati c...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v