Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对';xdr#U编号';在RPC中_C_Rpc - Fatal编程技术网

对';xdr#U编号';在RPC中

对';xdr#U编号';在RPC中,c,rpc,C,Rpc,power.x 客户c struct numbers { int number; int power; }; program POWER_PROG { version POWER_VERS { int power(numbers) = 1; } = 1; } = 0x31415926; 我使用命令rpcgen power.x编译了power.x文件 它生成了所有的文件。但当我尝试编译服务器代码时,它给出了上述错误 /tmp/cc604P8X.o

power.x

客户c

struct numbers
{
  int number;
  int power;
};

program POWER_PROG {
    version POWER_VERS {
            int power(numbers) = 1;
    } = 1;
} = 0x31415926;
我使用命令rpcgen power.x编译了power.x文件 它生成了所有的文件。但当我尝试编译服务器代码时,它给出了上述错误

/tmp/cc604P8X.o: In function `power_prog_1':
power_svc.c:(.text+0x4f): undefined reference to `xdr_numbers'
collect2: error: ld returned 1 exit status

如何解决此错误

这可能意味着你在建造图书馆时错过了一个图书馆。你是如何建造的?你链接到哪些库?您是否尝试过更改库的顺序(在像Linux这样的POSIX平台上,顺序很重要)?当在服务器上将单个参数传递给函数时,上述代码运行良好。但当我使用结构传递参数时,它给出了上述错误。
 #include <rpc/rpc.h>
 #include "power.h"

 int temp;
 int *power_1_svc(numbers *num, struct svc_req *rqstp)
 {
    temp = 1;
    int i;

    for(i=1;i<=num->power;i++)
        temp = temp * (num->number);

    return &temp;
  }
/tmp/cc604P8X.o: In function `power_prog_1':
power_svc.c:(.text+0x4f): undefined reference to `xdr_numbers'
collect2: error: ld returned 1 exit status
 gcc -o server.out -DPRC_SVC_FG server.c power_svc.c