Il mio scenario è il seguente (ha funzionato in clang ma non in gcc)
liba.hpp:
inline int MY_GLOBAL = 0;
libother.cpp: (dll)
#include "myliba.hpp"
void myFunc() {
//
MYGLOBAL = 28;
}
someexe.cpp:
RunAppThatUsesBothLibAandLibOther();
Il problema è che la variabile inline mostrava 0 nei punti in cui mi aspettavo 28 perché era alrady modificata in fase di esecuzione. MSVC non è d'accordo con questo, ma Clang fa ciò che mi aspetterei.
La domanda è: le variabili incorporate possono essere modificate in fase di esecuzione nel mio scenario? (Ho risolto il problema desininando la variabile.)