내 시나리오는 다음과 같습니다 (clang에서는 작동하지만 gcc에서는 작동하지 않음)
liba.hpp :
inline int MY_GLOBAL = 0;
libother.cpp : (dll)
#include "myliba.hpp"
void myFunc() {
//
MYGLOBAL = 28;
}
someexe.cpp :
RunAppThatUsesBothLibAandLibOther();
문제는 인라인 변수가 런타임에 과도하게 수정되어 28을 예상 한 위치에서 0을 표시한다는 것입니다. MSVC는 이에 동의하지 않지만 clang은 내가 기대하는 것을 수행합니다.
문제는 내 시나리오에서 런타임에 인라인 변수를 수정할 수 있습니까? (변수를 인라인하여 문제를 해결했습니다.)