begin process at 2012 05 29 08:26:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

GUI

 > 

Erreur: Invalid allocation size


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur: Invalid allocation size

mercredi 18 février 2009 à 14:52:17 | Erreur: Invalid allocation size

chalmia2s

Bonjour,
je suis débutante en programmation, j'ai fait un programme sous Visual c++, pour avoir une dll. quand j'appelle la fonction dll , j'obtient l'erreur:
Debug Error
Program : C:\....\l.exe
Invalid allocation size: ............... Bytes

comme input j'ai un: int et une image (tableau WxLx3) et comme output: 2 tableau Nx1
dans la fonction, j'avais déclarer des tableaux [][] et j'ai fait des delete à la fin

comment faire pour regler ce problème?

Merci
mercredi 18 février 2009 à 15:02:56 | Re : Erreur: Invalid allocation size

Pistol_Pete

Salut
Peux tu nous montrer le code de ta dll ?
A+

____________________________________________________________________________
Mon site internet :
  
[ Lien ]

mercredi 18 février 2009 à 15:03:59 | Re : Erreur: Invalid allocation size

chalmia2s

voila le code:

#include <windows.h>
#include "LME_Ext.h"
#include "kp.h"


static lme_err kp(lme_ref lme, lme_int32 nargin, lme_int32 nargout)
{
double **im;
double *ind1, *ind2;
int i, j, n;
int r, c;
double img;
r = 0;
c = 0;
lme_int32 m, l;
lme_float64 *re;

if(!LMECB_GetMatrix(1, &m, &l, &re, NULL)) return 0;
r = m;
c = l;
img = (double)*re; // image!

im = new double*[r];
for(i=0; i<r; i++)
im[i] = new double[c];

**im = img;
n=0;
for (i=0; i<r; i++){
for (j=0; j<c; j++){
if (im[i][j] != 0 ){
n++;
}
}
}
ind1 = new double[n];
ind2 = new double[n];
int k=0;
for (i=0; i<r; i++){
for (j=0; j<c; j++){
if (im[i][j] != 0 ){
ind1[k] = i;
ind2[k] = j;
k++;
}
}
}

if(!LMECB_PushMatrix(n, 1, &ind1, NULL)) return 0;
if(nargout >= 2)
if(!LMECB_PushMatrix(n, 1, &ind2, NULL)) return 0;

for(int i=0; i<r; i++){
delete [] im[i];
}
delete [] im;
delete [] ind1; delete [] ind2;
return 1;
}

static lme_fn fn[] = {
{"kp", kp, 1, 1, 1, 2},
};

lme_int32 InstallFn(lme_ref lme, lme_fn **fnarray)
{
LMECB_DbgWriteStr(".....................................");
*fnarray = fn;
return 1;
}
mercredi 18 février 2009 à 19:10:56 | Re : Erreur: Invalid allocation size

chalmia2s

merci de me répondre si vous avez une idee, je suis vraiment bloquée
jeudi 19 février 2009 à 09:11:11 | Re : Erreur: Invalid allocation size

Pistol_Pete

Bon tu as des problèmes de pointeur:
J'imagine que dans *re il y a une matrice 1D, et tu fais img = (double)*re, img étant UN double. Tu ne sauvegardes donc que le premier élément de ta matrice re.
Puis tu fais **im = img; tu copies juste le premier élément de ton image.

Pourquoi ne pas faire une boucle?
for (i=0; i<r; i++){
for (j=0; j<c; j++){
   im[i][j] =re[i+j*r]
Pas sure que ca corrige entièrement ton problème mais ca permettra de voir plus clair.
A+

____________________________________________________________________________
Mon site internet :
  
[ Lien ]

jeudi 19 février 2009 à 09:58:38 | Re : Erreur: Invalid allocation size

chalmia2s

c vrai que j'ai quelques problemes avec les pointeurs et les tableaux...
j'ai corrigé cette faute, mais ça ne marche pas encore :-(
jeudi 19 février 2009 à 10:08:34 | Re : Erreur: Invalid allocation size

Pistol_Pete

Essaye alors d'isoler l'erreur:
Comme c'est une erreur sur l'allocation, met en commentaire tout dans ta fonction sauf l'allocation et la desallocation et test le retour des new pour bien voir si l'allocation a été réussi ou pas.

____________________________________________________________________________
Mon site internet :
  
[ Lien ]

jeudi 19 février 2009 à 16:13:08 | Re : Erreur: Invalid allocation size

chalmia2s

enfin ça marche, il y avait une faute d'indice des tableaux dans le code!!!!
 et des problemes quand j'appelais LMECB_pushMatrix(...)

vendredi 20 février 2009 à 09:22:03 | Re : Erreur: Invalid allocation size

Pistol_Pete

Réponse acceptée !
Très bien.
Si ton problème est réglé, click sur "réponse accepté" pour clore ce thread.
A+

____________________________________________________________________________
Mon site internet :
  
[ Lien ]



Cette discussion est classée dans : erreur, dll, invalid, size, allocation


Répondre à ce message

Sujets en rapport avec ce message

Erreur "invalid allocation size"/dll [ par guizmo83 ] Bonjour à tous,Je n'ai pas l'habitude de poster sur les forums, alors svp soyez indulgents!Je souhaite faire une dll à utiliser à travers une macro VB erreur de compilation [ par azizstras ] bonjour,je suis debutant en programationje suis sur l'envirenement visuel C++, quant je compile en debegue ou en release il m'affiche ses erreur:Le fi Erreur LNK2019 rajouter une DLL [ par wallie0703 ] Salut à tous!!J'ai créer une Dll qui fonctionne mais je voudrais qu'elle appelle des fonctions d'une autre DLL que j'ai en ma possession mais je ne sa Erreur de link Visual C++ 2005 Express Edition [ par gmorello ] Bonjour,Je désire creer une dll qui s'appuie elle même sur une autre dll (api_lec.dll) Pour cela je dispose du fichier .lib fourni avec.J'ai bien indi Allocation de mémoire dans une dll ? [ par tintin72 ] Bonjour, Lorsque de la mémoire est allouée par une dll, est ce que cette mémoire doit être également  libérée par la dll ou est ce que l'application h Erreur à la compilation : "Size unknown" [ par morganitos ] Les types decode ci dessous provoque tous la même erreur : 'void *' unknown size Je comprends pas pourquoi et encore moins comment y remédier... Qqun Deploiement XP - msvcrt.dll [ par lesdis ] Bonjour,Tout d'abord, je m'excuse si je ne me situe pas dans la bonne partie du forum...Donc je développe sur Vista Pro via VS2005 et j'ai un soucis l Access violation et dll [ par mrous ] Bonjour,j'ai un probleme avec l'utilisation d'une dll:lorsque je l'inclue en effectuant un clic droit sur le projet (VC++ 6) et add files to project, generer un .dll [ par blaise_laporte ] Voila, je suis débutant, mais j'ai besoin de generer un .dll à partir de mon code source. (pour l'utilisation de l'api JNI de java) J'utilise gcc, e erreur MSVCRT.DLL - MFC [ par Rololo ] Salut à tous,lors de l'éxécution de mon programme, j'ai cette erreur qui s'affiche lorsque je clique sur un bouton : "unhandled exception in PROGRAMME


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,295 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales