|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
ho letto il codice del programmetto e sono rimasto veramente di sasso: cioè, ma veramente il gcc non è in grado di compilare quella cosa??? be', che dire... adesso odio linux e corredo un pochino di più di prima... O_o
sono indotto a pensare che il compilatore faccia un'ottimizzazione usando un registro come contatore del for al posto della variabile (probabilmente ECX sulla IA-32), però quando poi deve assegnare il valore di i allo slot corrente dell'array, va a leggere la variabile i in memoria (che sta ancora a 0) anziché il contatore!!! (non ho parole... )ma dico, siete proprio sicuri che il gcc non è in grado di generare correttamente quel programmetto? avete provato a compilare da linea di comando senza usare il dev-c++? |
|
|
|
|
|
#22 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
*(int*)(((char*)p) + i * sizeof(int)) = i; personalmente però preferisco p[i] = i; e penso che se sulle tastiere italiane ci fossero scritte le parentesi graffe tutti scriverebbero codice migliore |
|
|
|
|
|
|
#23 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
ciao |
|
|
|
|
|
|
#24 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
io penso di si: suppongo che l'errore stia nella parte portabile di codice, cioè quella che si può compilare anche senza #ifdef (il parsing e la generazione del codice insomma) non mi va di fare la prova su linux |
|
|
|
|
|
|
#25 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
ciao |
|
|
|
|
|
|
#26 | |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Quote:
In entrambi i casi non mi sembra niente di grave . Comunque linux non c'entra niente e l'odio verso un sistema operativo in particolare è un qualcosa di inutile (che sia windows, linux o chicchessia) Ciao
__________________
GPU Compiler Engineer |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:36.










)








