|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2005
Città: Montecatini terme
Messaggi: 309
|
[C] - Informazioni comando MALLOC
Ciao a tutti, Vi espongo brevemente il mio dubbio.
Ho implementato un programma in che effettua l'inversione di una matrice tramite il metodo Gauss-Jordan. Poiché la dimensione delle matrice dove mi appoggio per lavoro è variabile ho usato il seguente comando (per esempio per la matrice A): long double **A; e poi: A = (long double **) malloc (n * sizeof(long double *)); for(i = 0;i < n; ++i) A[ i ] = (long double *) malloc (n * sizeof(long double)); Ottengo dei problemi in fase di esecuzione quando la dimensione delle matrici in ingresso supera i 500. Mi chiedevo come faccio a far allocare tali matrici in altri spazi di memoria così da poter gestire matrici di dimensione anche maggiore. Grazie ancora. Saluti, Marco.
__________________
Asus M2N-SLI DELUXE - Athlon 64 X2 4600+ - 2x1GB Corsair XMS2 PC6400 - ATI HD3650 - 2x250GB SATA2 RAID-0 ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Un conterraneo
![]() L'allocazione è corretta, un matrice da 500 x 500 x 10 byte dovrebbe essere contenuta senza problemi nello heap. Dopo tutto sono solo 2,4 MByte. Il problema deve essere altrove. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2005
Città: Montecatini terme
Messaggi: 309
|
Trovato e risolto....
adesso fa il suo dovere (mi deve lavorare con roba di 1000x1000), solo che adesso è venuto fuori un altro problema...ma è tardi lo guarderò domani. Comunque grazie per la risposta.Marco.
__________________
Asus M2N-SLI DELUXE - Athlon 64 X2 4600+ - 2x1GB Corsair XMS2 PC6400 - ATI HD3650 - 2x250GB SATA2 RAID-0 ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:33.