Comment utiliser une DLL en assembleur C/C++

radamenthys -  
 Bob -
Je voudrais juste connaître les librairies et les fonctions C/C++ pour ouvrir une DLL et ainsi pouvoir récuperer les fonctions qui s'y trouvent et également comment puis je faire pour le faire directement en assembleur si j'en ai besoin. Et enfin je voudrais si c'est possible que cela fonctionne autant avec linux qu'avec windows au quel cas j'aimerai aussi savoir comment faire une application pouvant s'installer et fonctionner sur ces 2 OS sans à avoir à recompiler mais juste par installation.

5 réponses

  1. Marc
     
    Je vais pas pouvoir t'aider beaucoup, tout ce que je peux te dire
    c'est que pour utiliser les DLL (je programme sous VisualC++ 6)
    je fais quelque chose qui ressemble à ça:
    (je te le fait de tête alors c'est pas garanti que ça compile.)

    #include <windows.h>

    int ( _stdcall * PointeurSurFonction ) (int,int);
    HANDLE hLib=LoadLibrary("MaLibrairie.dll");
    PointeurSurFonction=GetProcAddress("FonctionSomme");
    int Resultat=PointeurSurFonction(2,3);
    FreeLibrary(hLib);

    Mais bon, si tu programme sur Linux, je pense pas que ça marche :)
    (surtout le include windows.h)

    Sans ces fonctions, cela me semble un peu complexe surtout que ces fonctions elles mêmes proviennent probablement d'une DLL du style kernel.dll ou je ne sais quoi (à voir...).

    Mais bon, si tu as la chance d'y parvenir en assembleur, note bien
    le _stdcall : il signifie que l'empilement des paramètres passés à la fonction n'est pas le même qu'en C (_cdecl) (ça doit être plus proche du Pascal) et c'est ainsi que les paramètres sont passés
    dans les DLL Windows et autres probablement).

    Pour ce qui est de faire tourner le programme sous Linux et Windows, je vois mal comment faire... ou alors tente le Java :)

    Sur ces bonnes paroles (j'adore m'autocongratuler) je te souhaite de folles nuits de programmation.

    A++
    1
  2. radamenthys
     
    Merci pour tes explications, sa marche tres bien maintenant et sa m'a aidé pour linux je me débrouillerai, il doit bien y a voir une librairie quelque par. Je te remercie encore de ton aide.
    0
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. Bob
     
    Library = Bibliothèque
    Bookshop = Librairie
    Pour clarifier les esprits ;-)
    0