关于单例模式被多个dll和exe引用,实际生成多个实例
c语言吧
全部回复
仅看楼主
level 5
怒人水瓶
楼主
项目结构如下
testdll.cpp+singleobj.cpp生成一个testdll动态库,它有一个函数,返回一个单例,
main.cpp+singleobj.cpp,生成exe会链接testdll,自己也会生成一个一个单例,这2个单例不是同一对象,
2023年02月10日 11点02分
1
level 5
怒人水瓶
楼主
首先是main函数,以及输出
2023年02月10日 11点02分
2
level 5
怒人水瓶
楼主
动态库的内容
2023年02月10日 11点02分
3
level 5
怒人水瓶
楼主
单例就是一般的单例,有一个成员变量a
2023年02月10日 11点02分
4
level 5
怒人水瓶
楼主
该怎么让exe和动态库使用同一个单例对象,请教一下各位大佬。
实际生产中,这种exe和dll使用一个单例的情况多不多,C++适不适合使用单例模式,
我目前是把单例单独生成一个dll,可以保证exe和其他dll使用的是同一个单例,这种方法可取吗?会不会有隐患,如下
2023年02月10日 11点02分
5
level 5
怒人水瓶
楼主
我网上说“动态库加导入导出符可以避免不同库出现多个实例” ,他说的这个做法应该怎么做
2023年02月10日 11点02分
6
level 5
怒人水瓶
楼主
我也感觉c++确实没必要用单例模式,c++有全局区,设置一个全局变量不就得了,cout就是一个全局变量,也没整成一个单例,我自己写的那个东西噼里啪啦写了一堆单例,好蠢
2023年02月10日 12点02分
8
1