Bonjour,
J'ai une Dll qui load une 2ème dll.Dans la 1ère DLL, mon code ressemble à ça :
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
void * fonction1;
 
void initDLL2(char * nomDLL2){
     if(loadDLL2==OK){
          fonction1=getProcAdress("fonction1");
     }
}
 
void superfonction(....){
 
    if(!isLoadedDLL2){
         initDLL2("nomDLL2");
    }
    ...
    fonction1(...);
    ...
}
Seule superfonction est accessible en dehors de la dll, mais elle est appelée sans arrêt.

A votre avis, suis-je thread safe (c'est impératif !!).
D'un côté non car ma fonction est une variable globale, mais en même temps qu'est -ce que je risque ? Ma fonction1 ne peut pas être modifiée, donc ça pourrait être OK. Non ?
Et au moment de l'initDLL2, que peut-il se passer ?

A votre avis ?
Merci