Bonjour,
J'ai crée un programme qui charge une DLL, qui utilise une de ses fonctions et qui unload la DLL.
Le code de ma DLL en tant que tel n'est pas très méchant. En plus de ma fonction addition qui rajoute 10 à une addition normale, j'affiche "DLL loaded" quand DLL_PROCESS_ATTACH et "DLL unloaded" quand DLL_PROCESS_DETACH.
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 #include <windows.h> #include <iostream> // Ptr sur fonction typedef int (*AdditionDLL)(int, int); AdditionDLL ptrAdditionDLL; using namespace std; int addition(int a, int b) { return a + b; } int main(void) { // Utilisation de la fonction addition du programme courant. cout << addition(10,5) << endl; // Utilisation de la fct addition de notre DLL. // Etape 1 : La charger ! HINSTANCE LoadMe; LoadMe = LoadLibrary("C:\\Documents and Settings\\Ju`\\Mes documents\\Visual Studio 2008\\Projects\\DLL\\Debug\\DLL.dll"); if (LoadMe) { ptrAdditionDLL = (AdditionDLL)GetProcAddress(LoadMe,"addition"); cout << ptrAdditionDLL(10,5) << endl; FreeLibrary(LoadMe); } else cout << "Owned!" << endl; system("Pause"); }
Donc pour moi je devrais voir sur la sortie standard :
Bizarrement ceci affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 15 DLL loaded 25 DLL unloaded
Est ce que quelqu'un sait pourquoi j'ai un DLL unloaded en rab' ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 15 DLL loaded DLL unloaded 25 DLL unloaded
Merci d'avance![]()
Partager