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"
3
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
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++
3
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]
3
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).
0

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.
0
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.
0
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.
0
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.
0