DLL动态链接库相关问题

有哪些类型的函数不能放到动态链接库中供不同进程同时访问?为什么?

3个回答

一般来说dll不同进程同时访问是没问题的,因为进程地址隔离,不存在数据同步的问题。但是如果同时读写某个设备、文件等操作系统上唯一的设备或者dll编写者有意为之,才不行。

qq_36025531
qq_36025531 Thanks
3 年多之前 回复

需要你dll中的函数是否有跨进程共享的东西。如果有全局的dll自己没有-处理好就可能导致不能同时多个进程共同处理。

qq_36025531
qq_36025531 Thanks
3 年多之前 回复

一般来说,共享的代码最好是可重入的代码,这样在多线程环境下才不会产生冲突。假如代码中含有全局变量或者静态变量(例如C标准库中的errno就是一个全局变量),在一个进程中对某个变量造成的修改可能会对另一个进程产生影响。

qq_36025531
qq_36025531 Thanks
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问