CNDEV
CNDEV.ORG
当前在线
论坛
CBD
程序员情感CBD
程序员见面交流会
CBD开发区
Java/J2ME
.NET/C#
数据库
Delphi/BCB
Visual C
其它
修真养身
中国象棋
纪念日
谈钱太俗,还是投机吧
听音乐
iCosta
资源共享
一隅
好文共赏
看电影看美剧
待定
狗屎
雪域召唤
工作流
专业显摆区
语录
情感
批评与自我批评
爱情故事
发牢骚
看三点区
游戏
CNDEV-CS/WOW
浩宇长空
生活
家有XPH
我爱学英语
美食天地ORG
半调子体育迷
观澳园友邻
搞笑奇文
拍照片
我读书我存在
论坛系统
超级垃圾站
系统建议及BUG
系统测试
中国开发网
: 论坛:
程序员情感CBD
: 贴子 295370
玉楼
:
没这必要吧?
[阅读: 459] 2006-03-14 23:22:37
需要共享且会实时变化的只是数据部分,其它的东西不都是死的吗?难道你要动态创建一个类并为之生成对象吗?
相关信息:
[技术贴]欢迎讨论.有没有什么好的办法把C++的类的对象放到共享内存里,并且要求不同的进程中都能用这个对象.
(43字)
(
bjwf
[668]
2006-03-14 23:10
)
没这必要吧?
(50字)
(
玉楼
[458]
2006-03-14 23:22
)
当然有必要了,比如说:
(552字)
(
bjwf
[600]
2006-03-14 23:34
)
具体一点,比如
(219字)
(
bjwf
[520]
2006-03-14 23:47
)
你说的意思我明白
(37字)
(
玉楼
[497]
2006-03-15 00:03
)
就是要多一次赋值的过程
(空) (
玉楼
[394]
2006-03-15 00:05
)
可以的, C++ 98 的标准支持在已分配的内存上 new 了
(空) (
holly
[432]
2006-03-15 02:09
)
你说的是placement new吧,在A进程里用placement new了在A进程里用没问题,但放到B进程里就有问题了吧.
(空) (
bjwf
[430]
2006-03-15 03:21
)
没问题啊, 传递 shared memory 的偏移给 B 就是. 除非有进程或者线程局部数据, 那是没戏的
(空) (
holly
[416]
2006-03-15 03:24
)
关键是类的vtable在两个进程里不一样啊.
(空) (
bjwf
[387]
2006-03-15 03:27
)
而vtable和类的成员函数如何与类的对象相关联,不同的编译器有不同的实现方法,但一定会有类似于函数指针的东东
(空) (
bjwf
[527]
2006-03-15 03:29
)
对. 一点没错.
(62字)
(
holly
[391]
2006-03-15 03:35
)
要在进程之间共享类对象的数据和方法,这个有点儿难度。因为,进程就是一块相对独立的数据与代码空间,进程边界就是数据和代码空间的边界。除非
(113字)
(
李战
[770]
2006-03-14 23:53
)
Window下的COM就是这样干的嘛
(空) (
王中王
[413]
2006-03-15 01:39
)
so,,,Somebody said com is a better c++..I think com is a supplement of c++ in win32..
(空) (
老玉米
[402]
2006-03-15 02:02
)
Don't agree. Cannot compare a model to a language.
(空) (
holly
[380]
2006-03-15 02:04
)
java,.net是 model还是语言
(空) (
老玉米
[411]
2006-03-15 02:11
)
语言 + 类库 + VM, of course. not an object model
(空) (
holly
[378]
2006-03-15 02:15
)
com也有语言阿。也有类库阿。。。再说,这话也不是我说的
(11字)
(
老玉米
[402]
2006-03-15 02:18
)
Dan Box 水平一般的. 关于 COM 是什么还是当年的 Inside OLE2 写得好, 虽然老了点
(空) (
holly
[682]
2006-03-15 02:22
)
只是一种说法。。。至于什么是语言,估计车不清楚。。语言部还分好几代呢马
(空) (
老玉米
[481]
2006-03-15 02:25
)
c++对象不支持序列化啊,这个可能难了,换java把
(空) (
老玉米
[647]
2006-03-15 01:31
)
你是在嵌入式设备利用吗?要是在windows上推荐com
(空) (
老玉米
[392]
2006-03-15 01:34
)
当然是在嵌入的linux上
(空) (
bjwf
[379]
2006-03-15 03:16
)
怎么算使用对象?
(37字)
(
haitao
[444]
2006-03-15 01:38
)
当然都包知了,也括虚函数,如果只是成员变量的话,用struct不就得了.
(空) (
bjwf
[510]
2006-03-15 03:22
)
自己写个 serializer 就是了啊
(空) (
holly
[410]
2006-03-15 02:03
)
这不是多此一举嘛。老狼的本意是想节省资源或提高效率吧。如果使用Serializer,不但要多出一个Serializer的结果,每个进程实际上还是要在内存中创建这个对象的
(空) (
王中王
[475]
2006-03-15 02:06
)
我估计他的意思是想偷懒, 不想在进程间传递
(空) (
holly
[393]
2006-03-15 02:11
)
不是偷懒,用共享内存是基于performance的考虑,要做的是一个multimedia的frame work
(空) (
bjwf
[442]
2006-03-15 03:18
)
用共享内存的主要目录是传递多媒体数据.
(空) (
bjwf
[356]
2006-03-15 03:26
)
那简单, 换个思路就是.
(27字)
(
holly
[374]
2006-03-15 03:36
)
是啊,本来就准备只存数据了,只是上来问问看有没有更好的办法.
(空) (
bjwf
[387]
2006-03-15 03:47
)
我觉得啊
(7字)
(
holly
[412]
2006-03-15 04:07
)
估计不容易。c++没有很好地reflection机制。。如果是java,delphi,.net就比较容易
(空) (
老玉米
[481]
2006-03-15 02:35
)
要不大牛些个通用的类库,让俺们学习学习
(空) (
老玉米
[359]
2006-03-15 02:36
)
不用我写, boost 里面有 serializer 的实现的
(空) (
holly
[439]
2006-03-15 02:37
)
啥时候能进stdc++啊。。。很好奇怎么实现的。。。
(空) (
老玉米
[439]
2006-03-15 02:53
)
很简单的, 估计跟你想的不是一回事
(202字)
(
holly
[454]
2006-03-15 03:23
)
我考,那有什么用啊,,我还以为能挣出个reflection机制呢。。
(空) (
老玉米
[440]
2006-03-15 03:26
)
争啥争啊, reflection 不 reflection 由语言本身定得死死的了.再争也没用.
(31字)
(
holly
[375]
2006-03-15 03:33
)
语言能做的的确不用编译器去做
(18字)
(
王中王
[435]
2006-03-15 03:40
)
是啊是啊, 什么都可以自己定义的, 问题就在于观点和实际限制了
(59字)
(
holly
[433]
2006-03-15 03:43
)
serializer就违背我的本意了.用share memory就是图个快,用serializer还不如用local socket或msg queue了.
(空) (
bjwf
[466]
2006-03-15 03:19
)
欢迎光临本社区,您还没有登录,不能发贴子。请在
这里登录