Newsgroup: it.lavoro.informatica
Titolo: migrare a 64 bit , è complicato?

come mai alcuni programmi sviluppati con visual studio 2005  e framework 
.net
, non girano o non sono certificati su computer con sistema a 64 bit , ma 
solo su computer con
sistema a 32 bit ?
E' complicato adattare il software (scritto ad es. in Csharp) alla 
piattaforma 64 bit ?
Grazie e saluti

"walter" <mic...@rhugh.iu> ha scritto nel messaggio 
news:49ce3a05$0$1123$4faf...@reader1.news.tin.it...

Io ho fatto un programma a 32 bit con Visual Studio 2008 in Csharp,
già prevedendo che ci sarebbe stata una versione anche a 64 bit.
A me è bastato solo ricompilare il programma e nient'altro!
Ciao
Alex 


In teoria, essendo C# un linguaggio basato su virtual machine dovrebbe
girare indifferentemente su qualsiasi hardware.
Wy

"walter" <mic...@rhugh.iu> wrote in message 
news:49ce3a05$0$1123$4faf...@reader1.news.tin.it...

Se usa esclusivamente funzionalità fornite dal framework non c'è nessun 
problema.
Se usa interop COM o componenti unmanaged allora occorre avere quei 
componenti a 64 bit.

 piattaforma 64 bit ?
Dipende dalla complessità del software e se sono stati usati trucchetti 
(leggasi: schifezze) di programmazione da qualche parte nel codice.
Da noi i sw win32 medio/semplici sono stati portati anche x64. Per quelli più 
complessi per ora abbiamo soprasseduto.
Ah, lato "client" i 64bit servono a poco... E' invece particolarmente 
importante lato "server". 
-- 
_______________________
Luc (35, CO)
Statement has no effect
_______________________

 importante lato "server".
...e se il client e' un programma che necessita di *tanta* memoria
(editor grafico 2d/3d,,,) ? 64bit posson servire eccome...
Il porting sara' veloce se il sw e' stato scritto portabilmente e
senza troppe schifezze (c-style, int dove serve size_t ... ecc.) Una
parte complicata e' portare cose tipo import/export binario (wired o
wireless)
ciao
Leonardo

 (editor grafico 2d/3d,,,) ? 64bit posson servire eccome...
No. Sono personalmente programmatore di un "editor grafico 2d" e posso 
assicurarti che i 64bit mi verrebbero forse comodi solo nei pesanti algoritmi 
di trasparenza.


 di trasparenza.
Giusto per curiosita', perche' useresti la CPU invece che le GPU per
fare quel tipo di operazioni?
--
ale
http://ale.riolo.co.uk

 fare quel tipo di operazioni?
Perchè ho necessità anche di stampare (=creare il file postscript) e quindi di 
creare la bitmap "trasparente" non solo per il video.


 quindi di creare la bitmap "trasparente" non solo per il video.
puoi renderizzare su una texture per poi riprenderla e mandarla sul ps...
ilSimo
-- 
now playing: 
Fearless in a haze of bloodlust
Riding at breakneck speed
Armies clash one against the other
A sea of blood flooding the field
                                Domine - The Batthe For The Great Silver
Sword

 puoi renderizzare su una texture per poi riprenderla e mandarla sul ps...
Capisco... Abbiamo preferito il "vecchio" modo. C'è in programma di renderlo 
multicore, si avrebbero vantaggi anche superiori all'uso della scheda grafica. 


 scheda grafica.
conta che la gpu e' ottimizzata per fare proprio quel tipo di calcoli
(aritmetica rgba) ed e' massicciamente parallelo.
more info: 
http://www.gpgpu.org
(ma anche sul sito di nvidia/ati dalle parti di programmazione gi shader&c)
ilSimo
-- 
now playing: 
Le barche mi danno il voltastomaco. 
Piu' delle barche odio soltanto gli elfi.
          -- Gotrek Gurnisson
             da "Sangue di Skaven"


Quindi dato che tu non hai avuto bisogno di 64 bit vuol dire che
nessuno
ne ha bisogno? Se devi usare >2GB ram ti servono 64bit. Per es. un CAD
o un level editor di un gioco (quelli grandi, cosiddetti "AAA" hanno
nell'ordine
del milione di triangoli e molte textures).

 Se devi usare >2GB ram ti servono 64bit.
4GB, 4...



XP Professional (se parliamo di workstation) gestisce al massimo 3 GB,
3.5 se c'è poca memoria sulla scheda video (improbabile in una
macchina di fascia alta) e con qualche aggiustamento. In teoria hai -
quasi - ragione, in pratica, visto che il salto è nomalmente 2 -> 4,
vuol dire comunque sprecare 1 GB di RAM
m.

vuol dire comunque sprecare 1 GB di RAM
Per la cronaca, la cosa vale per qualunque sistema operativo per hardware 
Intel a 32 bit: la limitazione è dovuta alla mappatura in memoria dell'I/O 
delle periferiche, che in un address space di 4 GB se ne ciuccia comunque 
almeno mezzo per forza; questo almeno su hardware di classe desktop, perché 
sui server il discorso cambia.
Nel caso di OS Windows a 32 bit, inoltre, qualsiasi hardware tu abbia, ogni 
processo ha a disposizione 2 GB di memoria utente, in quanto gli altri 2 
sono allocati al kernel; si può modificare questa impostazione con il flag 
di boot /3GB, che porta questi spazi rispettivamente a 3 GB massimi per 
processo e 1 per il kernel, ma comunque nessun singolo processo può 
utilizzare più di 3 GB. Quindi, ad esempio, su un server Windows 2003 a 32 
bit con 8 GB di memoria, due istanze di SQL Server con un database ciascuna 
avrebbero più memoria a disposizione di una singola istanza con due 
database, perché corrisponderebbero a due processi in esecuzione.
Massimo

 vuol dire comunque sprecare 1 GB di RAM
Ti sto scrivendo da un PC con 3GB di ram (da casa). Quando vorrò il 4° 
formatterò e passero a x64. :)
PS: ah il memory mapping delle periferiche... Stile Z80... :) 


 Per la cronaca, la cosa vale per qualunque sistema operativo 
senza PAE, perche' con PAE il mio sistema a 32bit dice:
simo@odin:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          4040        604       3435          0         27        242
-/+ buffers/cache:        335       3705
Swap:          956          0        956
ilSimo
-- 
now playing: 
I believe what the prophets said
That the oceans hold their dead
But at night when the waves are near
They whisper... and I hear...
                                Savatage - The Wake Of Magellan