C:Plantage du programme lors de l'utilisation de fonctions contenues dans une dl

Signaler
Messages postés
6
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
8 juillet 2009
-
Messages postés
6
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
8 juillet 2009
-
Bonjour,
Je suis actuellement en cours de développement d' projet en c sous VS2003  qui utilise des fonctions de communication via les sockets que j'ai choisi de séparer dans une dll.

avant la compilation en mode librairie dynamique l'ensemble de mes fonctions je les ai testé et il fonctionnent correctement.

Le problème c'est que dés que j'utilise mon .lib et la dll pou l'exécution sa plante au niveau de la 1ére fonction de la dll appelée

y'aurait -il quelqun d'assez sympa pour m'aider

Merci

 

8 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Quel message d'erreur ?
Messages postés
6
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
8 juillet 2009

First-chance exception at 0x7c92a978 in test1.exe: 0xC0000005: Access violation writing location 0x00030fa4.
Unhandled exception at 0x7c92a978 in test1.exe: 0xC0000005: Access violation writing location 0x00030fa4.
voila c'est se qui s'affiche sur l'output VS avec la répétition de la 1ère ligneplusieurs fois.

Merci pour votre attention :)
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
On dirait que ta lib essaie d'accéder à un espace mémoire pointé par un pointer déjà désalloué ...
Messages postés
6
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
8 juillet 2009

Merci pour ton attention [../auteur/GHUYSMANS99/549970.aspx ghuysmans99]maisje suis bloqué sur ce point de puis déjà 2 jours et  j'ai tout vérifié en ce qui concerne le pointeurs et l'allocation en plus les fonctions que j'ai exportées dans la dll fonctionnent très bien hors de la dll. je doute que la compilation de la lib ne soit à l'origine de ce blem j'ai tout essayé mais en vain.
help plz
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
Faudra mettre du code parce que là on ne pourra rien dire; notamment, DllMain(), ainsi que la fonction que tu appelles et qui plante, bien que je pense que le bug soit dans l'initialisation.
Messages postés
6
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
8 juillet 2009

.h de la dll:

 extern  __declspec(dllexport)  SISC_Init(short , char *, int ,int ,SISC_ConnectAtt_st*, char*); //Make the skeleton of

.c de la dll:

int SISC_SendMessage(SISC_SndMessage_st *pstSndMsg,SISC_ConnectAtt_st *SISC_Attrib, char * errMsg){

    int  nMsgLength  ,
         nBodyLength ,
         returnCode=0 ;
   
    char *sMessage;
   
    nBodyLength = strlen(pstSndMsg->messageBody);
    nMsgLength   = MSGID_SIZE + MSGTYPE_SIZE + LENGTH_SIZE + nBodyLength ;
    .
    .
    .
  
}

main.c (test):

#include"SISocketConnect.h"

char errMsg[100];

void main()
{
,SISC_ConnectAtt_st* connection;
SISC_Init(PF_INET,"127.0.0.1",9999,0,connection,errMsg);
//SISC_Connect(errMsg);
printf("%s",errMsg);
scanf("%s",errMsg);

}

Voilà
Messages postés
6
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
8 juillet 2009

désolé voicu le main .c sansn erreurs:)

#include<stdio.h>
#include"Sockets.h"

char errMsg[100];

void main()
{
SISC_ConnectAtt_st connexion;

SISC_Init(PF_INET,"127.0.0.1",9999,0,&connexion,errMsg);
//SISC_Connect(errMsg);
printf("%s",errMsg);
scanf("%s",errMsg);

}
Messages postés
6
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
8 juillet 2009

salut,

je tiens à préciser que l'utilisation de la dll est implicite cà d je n'utilise pas de fonctions pour charger la dll ,c fait automatiquement. jutilise le.h ,le .lib  et la dll.
j'attends  vos réponses svp

Merci