Pb d'initialisation d'un buffer

Résolu
saibe Messages postés 46 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 16 avril 2009 - 18 févr. 2006 à 10:53
saibe Messages postés 46 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 16 avril 2009 - 18 févr. 2006 à 11:24
bonjour tout le monde.
je programme avec vc++6 avec les mfc
et j'ai une erreur d'exécution pour intialiser un buffer

double* buffer;
memset(buffer, 0, 307200 * sizeof(double));

j'ai bien essayer une autre init :

inline void CMotorDlg::SetMemory(void* pDest, UINT nData, int iSize)
{
_asm
{
mov edi, pDest;
mov ecx, iSize;
shr ecx, 2;
mov eax, nData;
rep stosd;
}
}


inline void CMotorDlg::ClearMemory(void* pDest, int iSize)
{
SetMemory(pDest, 0, iSize);
}

avec ClearMemory(buffer, 307200 * sizeof(double));

mais c pareil, alors que sans mfc ca fonctionne bien.
le debug me dit que c le "rep stosd" qui plante


qu'ai-je oublié ?


merci

saibe

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 févr. 2006 à 11:01
buffer est alloué ???

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
saibe Messages postés 46 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 16 avril 2009
18 févr. 2006 à 11:24
merci BruNews !
ct bien ça :
buffer = reinterpret_cast<double*>(malloc(307200 * sizeof(double))));
avant l'init.
merci encore !)

saibe
0
Rejoignez-nous