Skenario saya adalah sebagai berikut (ini bekerja dalam dentang tetapi tidak dalam gcc)
liba.hpp:
inline int MY_GLOBAL = 0;
libother.cpp: (dll)
#include "myliba.hpp"
void myFunc() {
//
MYGLOBAL = 28;
}
someexe.cpp:
RunAppThatUsesBothLibAandLibOther();
Masalahnya adalah bahwa variabel inline menunjukkan 0 di tempat-tempat di mana saya harapkan 28 karena sudah dimodifikasi pada saat run-time. MSVC tidak setuju dengan ini, tetapi dentang melakukan hal yang saya harapkan.
Pertanyaannya adalah: bisakah variabel inline dimodifikasi pada saat run-time dalam skenario saya? (Saya memecahkan masalah dengan de-inlining variabel.)
inline
variabel. Anda juga perlu memastikan bahwa mereka diekspor dari satu DLL dan diimpor dari sana di semua tempat lain.