Mon code d'origine (suivant) donne un défaut de SEG à l'attribution de tableau de chaînes à environ num_atoms = 150 000:affectation de tableau de chaîne plutôt petite provoque une erreur de segmentation
int num_atoms=dimension[0]*dimension[1]*dimension[2]*prim_lat.size();
double superlat[num_atoms][3];
string current_occ[num_atoms];
Pensant que ce fut une première instance de me frapper un débordement de pile question, et pensant que vous pouvez attribuer au tas à l'aide d'une allocation dynamique, j'ai essayé:
int num_atoms=dimension[0]*dimension[1]*dimension[2]*prim_lat.size();
double superlat[num_atoms][3];
string *current_occ = new string[num_atoms];
Ce code a un défaut de seg à environ num_atoms = 350.000. Je ne suis pas sûr de la solution de contournement pour ce problème. Est-ce juste un cas où j'ai besoin d'augmenter la limite pile/tas? Si oui, puis-je le faire en tant qu'option gcc?
C'était tout. Doux! Merci d'avoir rattrapé ma faute. – Paul