- 博客(3)
- 收藏
- 关注
原创 DLL共享数据段
全局变量在DLL内使用,在同一进程同一DLL文件中的相互调用是正常的,包括指针的使用;不同进程中参数互不影响。当C#启动后开始加载DLL文件,文件中的初始代码就会执行,所有全局变量会一直保存实值,直到C#程序运行结束或主动释放加载的DLL文件,这样DLL文件就可以被看作一个伴随C#主进程一直运行的子线程,运行过程中不会释放变量.默认情况下,同一个程序启动多个进程,它们各自的变量值是不会相互影响的。第二个实例启动后,在修改全局变量的时候,系统会运用内存管理系统copy- on-write的特性来防止修
2021-10-18 11:54:34 1743
转载 关于ATL_NO_VATBLE
在构造函数中调用虚成员函数,虽然这是个不很常用的技术,但研究一下可以加深对虚函数机制及对象构造过程的理解。这个问题也和一般直观上的认识有所差异。先看看下面的两个类定义。struct C180{ C180() { foo(); this->foo(); } virtual foo() { cout << "<< C180.foo this: " << this << " vtadr: " << *(void**)this &
2021-08-13 11:25:14 167
转载 COM接口
1、custom interface:<1>接口继承:该类型的接口继承IUnknown接口,它不继承IDispatch接口 ;<2>调用方式:它只支持通过虚表的方式来调用COM对象中的方法;2、dual interface:<1>接口继承:该类型的接口继承IUnknown接口,同时也继承IDispatch接口 ;<2>调用方式:它支持通过虚表的方式来调用COM对象中的方法;同时也支持通过函数ID的方式来调用COM对象中的方法 ;3、dispinte
2021-08-05 10:26:17 495
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人