我有一个需要成为单身人士的班级。它实现使用静态成员指针:C++:复制静态成员?
class MySinglton
{
public:
static MySinglton& instance() { ... }
private:
static MySinglton* m_inst;
};
这个类被编译成它在多个DLL使用在同一应用程序一个的.lib。问题是每个DLL看到不同的m_inst
。因为它是独立编译和链接的。
解决此问题的简单方法是什么?
将.lib分隔到自己的dll不是一个选项。它必须是.lib。
不要编译到.lib中。编译成一个dll。然后所有其他的DLL将使用相同的实例。 – 2009-12-10 16:28:58
实例不应该是静态的 – rerun 2009-12-10 20:02:54
是的,谢谢,修正 – shoosh 2009-12-10 20:06:07