Программа и DLL оба связаны в статической библиотеке, и, таким образом, оба получают отдельную копию статической переменной. Я сам столкнулся с этой проблемой. Постскриптум Я не делал понижающий голос.

дал статическую библиотеку с классом:

class CLog
{
   private:
   CLog();
   ...
   ...
   public:
   static CLog& GetInstance()                                
   {
           static CLog Instance;
           return Instance;
   }
   void Write(char *cpPr);
};
#define Log CLog::GetInstance()

Эта библиотека связана с DLL и основной программой. DLL загружается с помощью LoadLibrary. В этом случае очевидно, что вызов Log.Write в основном exe и в dll создает два отдельных экземпляра CLog. Любые идеи, как обойти эту проблему и по-прежнему обеспечить динамическую загрузку DLL?

Ответы на вопрос(3)

Ваш ответ на вопрос