IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

x86 32-bits / 64-bits Assembleur Discussion :

Chargement de DLL dynamique


Sujet :

x86 32-bits / 64-bits Assembleur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Par défaut Chargement de DLL dynamique
    Bonjour,

    Je suis nouveau, et je n'ai malheureusement jamais fait d'Assembleur.
    Je dois regarder un programme de chargement de DLL dynamique, et je n'y comprends rien, normal.
    J'appelle ce programme ensuite dans un programme C qui ne fonctionne pas. Je voulais donc vérifier cette partie.

    Voilà le code, j'espère que vous pourrez me dire si ce code est correct :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    _AppelDLL: 
                  push    ebp           ; passage par cdecl
                                    mov    ebp, esp   ; donc sauvegarde de la pile
     
                  mov    eax, [ebp+8]        ; 1er argument tabEntree type void ** 
                  mov    ecx, [ebp+12]      ; 2eme argument nbparam
     
                  dec ecx
                  js appel
                  boucle:
    		mov  ebx, [ebp+24]	  ;nombre d'elts de type DOUBLE
    		dec  ebx
    		js finboucle2
    		boucle2:
    			mov  edx,[ebp+20] 	;tableau de position des DOUBLE
    			cmp  ecx, [edx+ebx*4]
    			jne  suite2
    				mov  edx,[eax+ecx*4]
    				push dword [edx+4]
    				push dword [edx]  
    				jmp fin
    			suite2:
    				dec ebx
    				jns boucle2
    		finboucle2:
    			push dword [eax+ecx*4]
    	       fin:
    		     dec ecx
                   	           jns boucle
     
    	      appel:
    		     mov  ebx, [ebp+16]	;adresse de la fonction
                                call ebx
     
                  mov    esp,ebp
                  pop     ebp            ; restauration de la pile
                  ret                         ; retour
    Pourriez-vous me décrire un peu le principe de ce programme.
    Merci beaucoup en tout cas pour vos futures contributions.

    A très bientôt,

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Par défaut Appel de la fonction
    Pour appeler la fonction, j'utilise le prototype suivant :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    void AppelDLL(void **tabE, int nb, void *ptrF, int *tabI, int nbI);
    Merci encore,

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Par défaut Compilation C Visual
    En compilant mon fichier d'appel de la DLL avec visual Studio 2008, le problème a disparut.

    Merci quand même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Chargement DLL Dynamique
    Par loukoum82 dans le forum Langage
    Réponses: 3
    Dernier message: 13/04/2010, 10h25
  2. Chargement et dechargement dynamique de dll ?
    Par QAYS dans le forum Delphi
    Réponses: 2
    Dernier message: 16/04/2007, 15h38
  3. Réponses: 8
    Dernier message: 22/12/2004, 22h57
  4. chargement de dll xml
    Par chaudier dans le forum MFC
    Réponses: 4
    Dernier message: 05/12/2003, 10h49
  5. [Débutant][JNI]Erreur de chargement de dll
    Par Agifem dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 24/04/2003, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo