Grote array in struct declareren

Status
Niet open voor verdere reacties.

tomkamphuys

Nieuwe gebruiker
Lid geworden
15 jan 2008
Berichten
3
Ik wil meerdere threads gebruiken om een berekening te versnellen. Enig onderzoek leert dat ik hiervoor pthreads (Dev-c++) kan gebruiken. Je moet de berekening dan in een functie zetten en die functie mag maar 1 argument hebben. Mocht je er meer nodig zijn, dan moet je die in een struct verpakken. Nu heb ik echter een grote array nodig voor m'n berekening (512*512*512 bijv.). Ik krijg het niet voor elkaar om zo'n grote array te declareren in de struct.
In het programma zonder meerdere threads heb ik hiervoor double * array = new double[512*512*512] voor kunnen gebruiken, maar dit werkt nu niet.

Weet iemand hoe ik dit wel voor elkaar kan krijgen?
 
Zulke grote arrays kun je niet declareren. Je probeert namelijk 512*512*512*8 = 134 MB geheugen te declareren

Ik zou zelf een linked list gebruik, maar die zijn wel iets lastiger te begrijpen. Ook kun je een database (of file) gebruiken om de data in op te slaan.

groeten Niek
 
Aangezien ik flink wat berekeningen wil uitvoeren is een database/file niet echt handig.

Waarom kan ik de array prima declaren buiten een struct (ondanks de grootte), maar niet binnen die struct?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan