Quote:
Originariamente inviato da microinfo10
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.