Problème d'accès à une variable stockée dans une DLL
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:
Code:
1 2 3 4 5 6 7
|
#include dll1.h
#include windows.h
int main() {
fonction_dll1();
} |
Le code de la première dll, dll1.c:
Code:
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);
} |
et le code de la dll2:
Code:
__declspec(dllexport) int v = 100;