Bonjour,
je suis sur que c'est une question qui revient assez souvent et pourtant malgré une matinée de recherche sur le forum, je n'ai pas encore eu de réponse.
Mille excuses si j'ai loupé le fil qu'il ne fallait pas louper.
Voila le code suspect :
Tout marche bien, puis un jour le matériel a évolué, et donc en augmentant la taille des tableaux, ca ne marche plus. Une exception est générée et le soft renvois le message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 // Allocation d'un tableau de nSize element template <class TYPE> inline bool C3Array<TYPE>::Alloc(unsigned long nSize) { InitMembers(); if (nSize>0) { try{ m_pData= new TYPE [nSize] ; if(m_pData != 0) { m_nSize=nSize; return true; } } catch(CException* e){ CString msg; msg.Format(_T("Pb lors de l'allocation de %d élément(s)"),nSize); AfxMessageBox(msg); e->Delete() ; return false; } } return false; }
Les éléments ici sont des float.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Pb lors de l'allocation de 63148800 élément(s)
Les caractéristiques de la config sont :
- OS : Win XP SP2.
- DELL T3500 (Xeon 2.93Ghz, 2.87 Go RAM)
- Le soft est développé sous Visual C++ 6.0 utilisant les MFC.
Les info du gestionnaires des taches :
- Mémoire physique (Tot :3012104, Dispo : 1923996, Cahe sys : 491424)
- Le processus (Util Mem : 592592 Ko, Max : 826256 Ko)
- Processus : 42, UC utilisé 1% (message blocant), Charge dédiée 996 Mo
Je ne sais pas quoi donner d'autre comme info avant de tuer le process.
Notre problème est que nous n'avons aucune explication plausible.
A votre avis ?
Merci d'avance.
Partager