Chinaunix
标题:
C语言新手,求教一个指针问题
[打印本页]
作者:
love5783
时间:
2014-06-18 11:38
标题:
C语言新手,求教一个指针问题
C语言指针作为参数传递没有问题。
我想问的是,如果C语言程序时分布式部署的,进行指针传递的时候时怎么工作的?
例如:主机A调用主机B的fun(char *p)函数,那么按照正常的步骤,肯定是主机A将变量地址作为实参传递给主机B。这样问题就出来了,主机A的地址传递给主机B有什么用?主机B修改它的值之后也不会影响主机A。而且这样岂不是对主机B造成了野指针?
C肯定做了处理,不过小弟实在不明白,请高手指教!
作者:
hellioncu
时间:
2014-06-18 11:45
”主机A调用主机B的fun(char *p)“ 这个不是一般的调用,是RPC
作者:
love5783
时间:
2014-06-18 11:57
回复
2#
hellioncu
谢谢回复。
由于目前还没有接触过RPC,不过刚刚百度了一下。说一下我的理解:
分布式应用程序通过RPC进行通讯,需要按照RPC规范编写文档,然后主机A调用主机B的funstub(char *p)函数,这样就把参数如何传递交给RPC进行实现。不许要人为的进行干预,就像在调用本主机的一个函数一样。
这样理解对吗?
作者:
cjaizss
时间:
2014-06-18 14:32
love5783 发表于 2014-06-18 11:57
回复 2# hellioncu
RPC说白了就是网络通信,服务和被服务,这样的指针对于提供服务基本没用的
作者:
love5783
时间:
2014-06-18 17:26
回复
4#
cjaizss
我是看有些程序中这么写的。
主机A定义了一个结构体指针struct demo *p,然后调用funstub(&p)函数,这个函数调用主机B的fun(struct demo **pointor)函数来修改主机A的p指针。
我主要是不清楚,主机B怎么接收主机A传过来的指针,并把修改过的指针在传给主机A。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2