Kịch bản của tôi là như sau (nó hoạt động trong tiếng kêu nhưng không phải trong gcc)
liba.hpp:
inline int MY_GLOBAL = 0;
libother.cpp: (dll)
#include "myliba.hpp"
void myFunc() {
//
MYGLOBAL = 28;
}
someexe.cpp:
RunAppThatUsesBothLibAandLibOther();
Vấn đề là biến nội tuyến đã hiển thị 0 ở những nơi tôi mong đợi 28 vì nó đã được sửa đổi trong thời gian chạy. MSVC không đồng ý với điều này, nhưng tiếng kêu làm điều tôi mong đợi.
Câu hỏi là: các biến nội tuyến có thể được sửa đổi trong thời gian chạy trong kịch bản của tôi không? (Tôi đã giải quyết vấn đề bằng cách khử nội dung biến.)