1。Q:假如甲写了个test.dll,乙也写了个test.dll.
2个dll中都有一个同名共享数据,如下
#pragma data_seg("segtest")
int g_test = 0;
#pragma data_seg() SETCTIONS
segtest READ WRITE SHARED 并且分别有函数changeData甲(),changeData乙(),来修改2个DLL中g_test的值. 两个进程分别调用这两个DLL时,g_test,get_g_test甲(),changeData乙()会不会冲突? A:两个进程分别调用这两个DLL时,不会冲突2。Q:当一个进程同时调用这两个DLL时(将2个DLL分别改名为testA.dll,testB.dll),会不会冲突?
A:changeData甲(),changeData乙()修改的是各自的g_test,不会冲突总结:无论如何,进程调用的不同DLL(包括仅名字不同的DLL,或仅所在目录不同的DLL)中的数据、函数是不会冲突的。欢迎指点!
2个dll中都有一个同名共享数据,如下
#pragma data_seg("segtest")
int g_test = 0;
#pragma data_seg() SETCTIONS
segtest READ WRITE SHARED 并且分别有函数changeData甲(),changeData乙(),来修改2个DLL中g_test的值. 两个进程分别调用这两个DLL时,g_test,get_g_test甲(),changeData乙()会不会冲突? A:两个进程分别调用这两个DLL时,不会冲突2。Q:当一个进程同时调用这两个DLL时(将2个DLL分别改名为testA.dll,testB.dll),会不会冲突?
A:changeData甲(),changeData乙()修改的是各自的g_test,不会冲突总结:无论如何,进程调用的不同DLL(包括仅名字不同的DLL,或仅所在目录不同的DLL)中的数据、函数是不会冲突的。欢迎指点!
解决方案 »
- 继承cwnd的combobox类加载系统的滚动条行不?
- MFC 输出字符串到主程序框(GetWindowTextLength出现问题)
- soapcpp2h.exe生成的9个文件各是做什么的呀,谁能简要说说不?
- 大家好 ,我是vc新手 做的第一个程序就有问题 ,但不知道 错在哪了 请高手指教
- 在深圳这边有需要招聘VC通讯软件开发的职位吗,能否推荐下?
- 怎么在dialog中得到鼠标右键的点击坐标?无论点击什么,都要得到坐标
- CString的bug?
- 小女求助,如何得到自己电脑在网络中的IP地址及端口号,谢谢帮忙
- 怎样与SQL Server数据库相连和插入数据
- 看书不太懂,虚拟内存的问题
- 对话框程序的界面锁定
- 请问有谁在"易思博"工作过,或者去应聘过?
我想一个进程是这样调用他们的:
比如加载a.dll后,a.dll中的g_test在偏移量 0x00000001处。
然后加载b.dll,b.dll中的g_test在偏移量0x00000002处。其他进程调用方式一样,每个进程中都有一份两个变量的副本,当一个变量改变时,其他进程的副本也要变化,我想。
两个进程分别调用这两个DLL时,g_test,get_g_test甲(),changeData乙()会不会冲突?
每个进程都有属于自己的内存区,得到的资源都会在自己的内存区中去分配空间,所以互相不会干扰
当一个进程同时调用这两个DLL时(将2个DLL分别改名为testA.dll,testB.dll),会不会冲突?
同样,这次虽然是在同一进程中,但因为dll的名字不同,所以当作不同的资源来分配跟它们自己的空间,一样不会冲突