+ -
当前位置:首页 → 问答吧 → So 的共享问题

So 的共享问题

时间:2010-08-20

来源:互联网

兄弟有一个XML表示的配置文件, 维护这个配置的程序比如叫A, 有N多的程序B, C, D ... 通过unix socket 与其通信, 但性能明显偏低, 所以我就想是否有个主意, 比如我把这个配置程序做成so, 在这个so 文件里维护xml 文件和这个handle, 我知道简单型变量比如int char 之类的可以在so 中为各程序所共享, 那么一个复杂的指针结构如何共享呢? 希望兄弟们指教.

作者: slone   发布时间: 2010-08-20

结构定义每个程序都知道就行了,再获得结构指针

作者: hellioncu   发布时间: 2010-08-20

映象XML文件的结构完全通过指针实现, 而且不断会有ADD DEL node 的操作出现, 所以结构不太固定, 大小当然也不固定, 所以通过获取结构地址估计有些难.

作者: slone   发布时间: 2010-08-20

可以考虑在动态库里面malloc内存用来保存配置并返回给调用者,用库包装一个函数去free这些malloc的内存。

作者: davelv   发布时间: 2010-08-20



QUOTE:
映象XML文件的结构完全通过指针实现, 而且不断会有ADD DEL node 的操作出现, 所以结构不太固定, 大小当然也 ...
slone 发表于 2010-08-20 10:23




    那原先通过socket传的什么格式?应该可以保持格式不变,从socket获取改成调用so的函数返回

作者: hellioncu   发布时间: 2010-08-20

以前传递的是消息, 比如一个flag 代表操作类型, 后面跟的是数据
当然"从socket获取改成调用so的函数返回" 是理想中的方式, 但xml 句柄在哪里呢?

所以我在想, 如果把这个xml 转到init 进程中去维护, 是否所有进程都可以获取到init 进程的数据呢? 毕竟是1号进程啊.

作者: slone   发布时间: 2010-08-20