View Full Version : info programmazione 64bit
microinfo10
03-11-2012, 14:36
per hobby sono programmatore di c/c++ e java, ma vorrei sapere cosa significa sviluppare un programma a 64bit invece che 32. Ultimamente molti produttori di software rilasciano applicazioni sia per cpu a 32 che per le nuove a 64bit. Ma praticamente come si programma a 64bit?
cdimauro
04-11-2012, 06:32
Per un programmatore che sa fare bene il suo mestiere, si programma esattamente allo stesso modo.
Semplicemente in fase di compilazione si scegliere se il target è l'architettura a 32 o 64 bit, per cui verrà generato l'apposito binario.
microinfo10
05-11-2012, 12:05
quindi vuoi dire che il sorgente rimane invariato, ma bisogna compilarlo a 64bit?
cdimauro
05-11-2012, 12:17
Esattamente.
quindi vuoi dire che il sorgente rimane invariato, ma bisogna compilarlo a 64bit?
Io direi (ma correggetemi se sbaglio) che in linea di massima è come dice cdimauro. Infatti basta cambiare piattaforma di destinazione per avere codice funzionante sui 64bit. Ma bisogna stare molto attenti al tipo di applicazione e alle istruzioni che contiene che potrebbero funzionare in maniera errata se compilate a 64bit. Per esempio, una funzione che si basa sul valore di una costante che varia nel passaggio dai 32 ai 64bit potrebbe non funzionare correttamente. Qualche mese fa ero alle prese con un bug molto strano in un'applicazinone C#. Se compilata a 64bit si bloccava senza generare alcuna eccezione. Non mi spiego ancora il motivo, ma era causato dall'utilizzo del valore massimo rappresentabile dai float che utilizzavo per inizializzare un campo in determinate situazioni.
I linguaggi, comunque, offrono degli accorgimenti da prendere quando ci sono operazioni strettamente legate al numero di bit di un tipo. Se per esempio lavori in C e hai la necessità (per qualche motivo) di operare su interi a 32bit non puoi ricorrere al classico int, ma utilizzare int32 se vuoi assicurare la portabilità.
Sono esempi banali, ma lo scopo era, più che altro, dire che non sempre il pasaggio 32->64 è indolore e che potrebbero anche esserci situazioni che richiedono delle modifiche al codice.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.