Partage
  • Partager sur Facebook
  • Partager sur Twitter

.DLL ?

Sujet résolu
    17 mai 2008 à 11:52:34

    Bonjour,

    Alors voila je me suis un peu documenté sur les .dll, en ce qui concerne la création, la mise en place, etc...
    Seulement j'ai plusieurs questions à leur propos :
    • Quand doit-on utiliser une .dll ?
    • Quel en est l'intérêt ?
    • Comment connaitre le nom des fonctions qui se trouvent dans une .dll créée par quelqu'un d'autre ? (Si c'est possible)
    • Y a-t-il une différence en terme de vitesse d'exécution comparé à un fichier normal contenant les mêmes fonctions ?

    Autant de questions auxquelles je n'ai pas réponse...
    Voila, merci par avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      17 mai 2008 à 11:54:51

      En général on utilise les dll pour faciliter les mises à jour du logiciel.
      On les utilise aussi lorsque l'on distribut une bibliothèque et que l'on ne veux pas montrer cette partit de code (Qt).
      Le soucis pour les dll c'est que ça marche que sur windows.
      • Partager sur Facebook
      • Partager sur Twitter
      :)
        17 mai 2008 à 12:27:11

        Citation : moii

        En général on utilise les dll pour faciliter les mises à jour du logiciel.
        On les utilise aussi lorsque l'on distribut une bibliothèque et que l'on ne veux pas montrer cette partit de code (Qt).
        Le soucis pour les dll c'est que ça marche que sur windows.



        Bin tu peux faire l'équivalent avec les *.so de linux.
        • Partager sur Facebook
        • Partager sur Twitter
          17 mai 2008 à 12:41:14

          On peut aussi les écrire pour les utiliser dans des langages de haut niveau qui ne permettent pas de faire ce que la dll propose.

          c'est vachement pratique.
          • Partager sur Facebook
          • Partager sur Twitter
            17 mai 2008 à 16:33:41

            Citation : BuRner

            Comment connaitre le nom des fonctions qui se trouvent dans une .dll créée par quelqu'un d'autre ? (Si c'est possible)


            en temps normal c'est la doc et/ou le fichier .h fourni avec la DLL, mais sinon tu peux t'amuser avec dll explorer mais tu n'auras que le nom des fonctions (pas le nombre n'y le type des arguments, pas le type de retour, ...)

            Citation : BuRner

            Y a-t-il une différence en terme de vitesse d'exécution comparé à un fichier normal contenant les mêmes fonctions ?


            probablement même si elle doit être imperceptible à notre niveau.
            • Partager sur Facebook
            • Partager sur Twitter
              17 mai 2008 à 18:07:13

              Donc si je comprend bien, il est impossible d'utiliser une blibliothèque qui ne contient ni documentation, ni fichier .h avec ?

              Merci pour toute vos réponses.
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                17 mai 2008 à 19:25:49

                Citation : minirop

                Citation : BuRner

                Y a-t-il une différence en terme de vitesse d'exécution comparé à un fichier normal contenant les mêmes fonctions ?


                probablement même si elle doit être imperceptible à notre niveau.



                J'ai l'impression que les dlls rendent plus rapide l'exécution si elles sont bien foutu car un exécutable bourré qui fait 20mb il est long a parser alors que si on split le programme en plusieurs dll de 500ko les dlls sont plus facile a parser et la fonction est trouvé plus vite.
                C'est ce que je remarque en IA quand je compile chaque chose que le bot apprend dans une dll différent il est plus rapide pour trouver cette fonction alors que quand je fais tout dans une même dll qui atteint très vite 100mb il commence a être plus lent. Je pense donc qu'il doit être de même pour un programme et ses dlls.

                Ceci n'est qu'une hypotèse a confirmer.
                • Partager sur Facebook
                • Partager sur Twitter
                  17 mai 2008 à 19:45:52

                  Citation : BuRner

                  Donc si je comprend bien, il est impossible d'utiliser une blibliothèque qui ne contient ni documentation, ni fichier .h avec ?



                  Bien sûr que si !
                  Voir sur Usenet (professionnel) où toutes les méthodes ont été données pour tout extraire d'une DLL (que ce soit par les win32 Debug Apis ou par les tools MS)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 mai 2008 à 12:28:30

                    Voila après des recherches plus approfondies je suis tombé sur un programme freeware de Microsoft qui permet de faire cela : Dependency Walker pour ceux que ça intéresse ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 mai 2008 à 21:27:00

                      Citation : noob4ever

                      Citation : moii

                      En général on utilise les dll pour faciliter les mises à jour du logiciel.
                      On les utilise aussi lorsque l'on distribut une bibliothèque et que l'on ne veux pas montrer cette partit de code (Qt).
                      Le soucis pour les dll c'est que ça marche que sur windows.



                      Bin tu peux faire l'équivalent avec les *.so de linux.



                      Ouais, et sur mac osx c'est les .dylib ;)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      .DLL ?

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown