版块
论坛
喜欢
话题
应用
搜索
登录
注册
degyhy123的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=40044
关于多个设备用一个dll的问题
各位老大,我的多个设备要加载同一个dll文件,我想问一下我的这个文件是被加载一次,然后不同的设备用不同的函数还是5个设备就加载5次这个dll文件,还有,如果加载一次的话,我在文件中定义的静态全局变量是不是可以被多个设备使用
回复
(
17
)
2004-09-16 08:23
来自版块 -
Wince 程序开发
◆
◆
表情
告诉我的粉丝
提 交
wxl_50685330
:
在驱动初始化的时候,开辟一块缓冲区,并分配给每个设备一块(你可以把设备收到的数据放这里面,上层就直接对这些缓冲区操作),上层在对设备进行操作时,通过给出不同的ioctl来告诉下面操作的是哪个设备(也就是操作哪个缓冲区),驱动中就根据事先定义好的ioctl来动作,当然,你也可以定义...
(2004-09-17 19:48)
回复
degyhy123
:
老大可以说的清楚一些吗,我还不是很明白??
(2004-09-17 16:35)
回复
wxl_50685330
:
由于你的设备不是被不同的进程启动的,这些数据只有一个,不会出问题。但是你可以把这些设备使用的数据区分开阿。 你写一个总的驱动,对上呈现出一个设备,并把桥挂接的各个设备使用的数据区分离开,上层使用这个设备的时候给出标示,驱动内部区分是操作哪个设备,就类似于一个pci设备的多个...
(2004-09-17 12:59)
回复
degyhy123
:
是这样的,我的设备是一个pci桥片带多个can和串口的控制器,所以只有这样写了
(2004-09-17 10:01)
回复
leo_cyl
:
除非有特别需要,一般来说,一个架构设计良好的驱动程序很少在多个dll中共享数据段。可以用其他比较安全的方法实现,如进程/线程间通讯。
(2004-09-17 09:44)
回复
wwei_wang
:
严重关注中 :P
(2004-09-17 09:21)
回复
degyhy123
:
各位老大,我的dll是由一个device。exe加载的话,是不是不用加share的那个东西呢
(2004-09-17 07:50)
回复
wxl_50685330
:
#pragma data_seg("seg_name") variables Lists #pragma data_seg()
(2004-09-16 15:05)
回复
wxl_50685330
:
*.def里面写 SECTIONS Seg_name READ WRITE SHARED *.c里面写 #pragma data_seg("seg_name") 对不起大家,我认罪:)))
(2004-09-16 15:03)
回复
leo_cyl
:
好久没用过了。如果有说错的地方别见怪。 在source code 里,用 #pragma data_seg("seg_name") int i; 。。。 指定一个数据段。 然后在dll的def文件中指定该数据段为shared 具体参考help...
(2004-09-16 14:11)
回复
1
2
下一页 »
degyhy123
加关注
写私信
0
关注
0
粉丝
125
帖子
返回顶部