pourquoi ai-je malloc() failed ?
Bonjour, après mon malloc j'ai une erreur
Code:
1 2
|
main.c 226 : malloc() failed |
Voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
double ** Particles=malloc(nbprocs*sizeof(*Particles));
if(Particles==NULL)
{
MEMERROR;
MPI_Finalize();
exit(EXIT_FAILURE);
}
if(rank<restp1)
{
firstpart[rank] = (rank-1)*nbparp1;
lastpart[rank] = nbparp1*rank-1;
}
else /* rank >= restp1 */
{
firstpart[rank] = nbpar*(rank-1)+rest;
lastpart[rank] = nbpar*rank+restm1;
}
sizeParticles[rank]=neq*(lastpart[rank]-firstpart[rank]+1); /* ici sizeParticles[rank]==780 ou 806 suivant la valeur de rank */
for(i=1;i<nbprocs;++i) /* nbprocs == 26 */
{
Particles[i]=malloc(sizeParticles[i]*sizeof(*Particles[i]));
if(Particles[i]==NULL)
{
printf("i = %d\n",i); /* echec quand i == 14 */
MEMERROR;
MPI_Finalize();
exit(EXIT_FAILURE);
}
} /* end for(i=1;i<nbprocs;++i) */ |
Merci.