Мой сценарий следующий (он работал в Clang, но не в GCC)
liba.hpp:
inline int MY_GLOBAL = 0;
libother.cpp: (dll)
#include "myliba.hpp"
void myFunc() {
//
MYGLOBAL = 28;
}
someexe.cpp:
RunAppThatUsesBothLibAandLibOther();
Проблема в том, что встроенная переменная показывала 0 в тех местах, где я ожидал 28, потому что она была изменена во время выполнения. MSVC не согласен с этим, но Clang делает то, что я ожидал.
Вопрос в том, могут ли встроенные переменные быть изменены во время выполнения в моем сценарии? (Я решил проблему, отключив переменную.)
inline
переменные. Вам также необходимо убедиться, что они были экспортированы из одной DLL и импортированы оттуда во все остальные места.