Bonjour,
J'utilise MinGW sous windows, et mon programme comporte 2 DLL dont une chargée avec LoadLibrary. Quand je tente d'accéder à une variable chargée avec GetProcAddress à partir d'une fonction stockée dans l'autre DLL, le programme plante. Pourtant, quand j'essaye d'acceder à cette variable à partir de l'éxécutable, en chargeant la DLL dans l'exécutable, ça fonctionne.
voici le code de l'exécutable:
Le code de la première dll, dll1.c:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include dll1.h #include windows.h int main() { fonction_dll1(); }
et le code de la dll2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include windows.h __declspec(dllexport) int fonction_dll1() { HMODULE WINAPI h = LoadLibrary("dll2.dll"); int *v = (int *)GetProcAddress(h,"v"); printf("\nv = %d",*v); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part __declspec(dllexport) int v = 100;
Partager