【发布时间】:2022-01-20 01:29:53
【问题描述】:
我试图做一些从客户端发送到服务器的 RPC 矩阵......以及一些我不记得的直觉将他的 .x 文件与一些“数组”¿?声明如下: int X ;在 .x 的结构中...这是他创建的结构:
struct X_array{
int X <100>;
int X_size;
}
有趣的是,在他的客户端代码中,他有一些这样的:(我会稍微总结一下)
printf("Give size)";
scanf("%d",&n);
average_1_arg.X.X_len=n;
avegare_1_arg.X_size=n;
average_1_arg.X.X_val=(int*)malloc(n*sizeof(int));
在他的 .x 中,该函数声明为: 浮点平均值(X_array)=1;
他从哪里得到他结构的这些部分?
对我来说最疯狂的是我用“rpcgen -a -C dum.x”从 0 编译了他的 .x,然后我编写了客户端和服务器,就像他在他的 .c 中一样,我意思是,客户端和服务器.c,然后放在控制台“make -f Makefile.dum”上,然后运行./dum_server和./dum_client,一切正常,没有错误。令我大吃一惊的是,X_array 结构中不在 .x 中的部分在客户端代码中,并且这些部分甚至无需声明该变量的类型即可工作;即使这些是来自“int X ;”的指针东西,那里有一个 int (.X_len) 和一个实际指针 (.X_val)。 现在我已经尝试通过将这对“”更改为一对“[]”,并编译到命令“make -f Makefile.dum”,其中编译给了我很多错误。非常感谢您的帮助。
一个大学的朋友把那个代码给了我,所以我不知道它的来源直接问创建者。谢谢。 (:
【问题讨论】:
标签: arrays c pointers declaration rpc