Dans la DLL ou non?

Résolu
moumouteb Messages postés 192 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 28 février 2011 - 24 sept. 2006 à 00:39
moumouteb Messages postés 192 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 28 février 2011 - 24 sept. 2006 à 22:16
Bonjour.

Je viens de lire que la vitesse d'exécution d'un code qu'il soit dans
une DLL ou non est la même. Je me demandais quels sont les critères qui
permettre de choisir entre mettre le code directement dans l'exe ou
dans une DLL. Déja si le code doit régulièrement etre changé je pense
qu'il faut mieux qu'il soit dans les DLL mais il y a t-il d'autrse
critères à prendre en compte?
--------------------
Quand la merde vaudra de l'or les pauvres naitrons sans trou cu cul. Coluche.

8 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
24 sept. 2006 à 10:49
Et bien la modulabilité
Une fonction peut être utilisée dans plusieurs programmes
Ensuite ça allège ton programme
En effet pour les MAJ c'est beaucoup plus simples

Enfin bref, y'a quand même beaucoup d'intérêt.

ULARGE_INTEGERJokyQi=QI("Joky"
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 sept. 2006 à 11:35
Il y aura par contre obligation de setup, faut bien mettre en balance le pour et le contre.

ciao...
BruNews, MVP VC++
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
24 sept. 2006 à 21:28
Super tuto ici qui a fonctionné du premier coup ! Pas comme 99% des tutos quoi.

[brugevin.boris.free.fr/dl/tuto_cpp/tutorial_dll.pdf brugevin.boris.free.fr/dl/tuto_cpp/tutorial_dll.pdf]
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
24 sept. 2006 à 12:00
Pour alléger les exe. Imagine tu as 15 exe dans un répertoire qui
ont tous de grosses classes en commun. Tu mets les classes communes
(parser, moteur 3D physique son, fonctions mathématiques, protocole de com....) dans
une DLL. Ainsi tu mets à jour les 15 programmes en recompilant la DLL,
mais surtout tu économises 14 fois la taille de la DLL.

Je n'y vois que des avantages (il ne faut pas non plus tomber dans l'exces, ne pas créer des DLL à tout bout de champ).

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moumouteb Messages postés 192 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 28 février 2011 10
24 sept. 2006 à 17:35
D'accord merci pour ces conseils par contre quand je créais un projet
dll sous visual c++ et que je le compile il ne me sort que la dll
comment faire pour avoir aussi la librairie statique? (.lib)

--------------------
Quand la merde vaudra de l'or les pauvres naitrons sans trou cu cul. Coluche.
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
24 sept. 2006 à 18:03
Il faut mettre les fonctions en __declspec(dllexport) ou faire avec un fichier .def pour lui indiquer d'exporter les fonctions.

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
moumouteb Messages postés 192 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 28 février 2011 10
24 sept. 2006 à 18:49
J'ai suivit ce tutoriel :


et j'ai donc ce code :http://www.cppfrance.com/code.aspx?ID=9915


#include "stdafx.h" // si vous êtes sous VC++


BOOL APIENTRY DllMain( HANDLE hModule,

                      
DWORD  ul_reason_for_call,

                      
LPVOID lpReserved

                     )

{

    switch (ul_reason_for_call)

    {

        case DLL_PROCESS_ATTACH:

        case DLL_THREAD_ATTACH:

        case DLL_THREAD_DETACH:

        case DLL_PROCESS_DETACH:

            break;

    }

    return TRUE;

}


extern "C" __declspec(dllexport) int addition(int a,int b)

{

    return a+b;

}


qui ce compile très bien sous dev-c++ (en enlevant l'include) mais sous
vc il me trouve plus de 100 erreurs... J'ai pourtant suivit le tutoriel.

--------------------
Quand la merde vaudra de l'or les pauvres naitrons sans trou cu cul. Coluche.
moumouteb Messages postés 192 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 28 février 2011 10
24 sept. 2006 à 22:16
holala vous etes vraiment géniaux

Ca marche. Encore un grand merci a vous.

--------------------
Quand la merde vaudra de l'or les pauvres naitrons sans trou cu cul. Coluche.
Rejoignez-nous