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 : 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();
}
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
#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 : Sélectionner tout - Visualiser dans une fenêtre à part
__declspec(dllexport) int v = 100;