Bonsoir,
Je code en Pro*C.
J'ai un pb d'allocation mémoire.
J'utilise 3 tableaux de structure.
Ne connaissant pas la taille des tableaux en début de programme, je récupère l'info grâce une requête en base.
Ensuite, j'alloue la mémoire pour mes tableaux grâce à un malloc:
Actuellement, j'ai en BDD au maxi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 tableau1 = (struct Tableau*) malloc((t1)*(sizeof(struct Tableau))) ; tableau2 = (struct Tableau2*) malloc((t2)*(sizeof(struct Tableau2))) ; tableau3 = (struct Tableau*) malloc((t3)*(sizeof(struct Tableau))) ;
500000 enreg pour le tableau1
350000 pour le tableau2
et le tableau3 est la synthèse des 2 donc maxi 850000.
L'exécution de mon programme plante toujours au même niveau d'exécution (en coredump).
Selon moi, ce n'est pas un pb de données dans la mesure où, si je restreints mon exécution autour des données utilisées au moment du plantage, le programme se termine correctement.
J'ai contrôlé toutes les fins de chaîne.
J'ai essayé de faire une déclaration de mes tableaux avec des tailles fixes mais là aussi plantage direct en début de programme.
Questions:
- Savez-vous s'il existe une taille maxi pour une définition en dur?
- Auriez-vous une idée pour corriger mon pb?
Merci beaucoup.
M JOLY MELOT
Partager