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