- C/C++の宿題片付けます 167代目
400 :デフォルトの名無しさん[sage]:2014/05/26(月) 18:37:13.95 ID:l2nsfm+B - 2ch.netへ再送。
>>388 ubuntuとかのlinuxディストリならAnswer 1を参照。solarisなら-lrpcでいけるのかな? http://stackoverflow.com/questions/13145930/undefined-reference-to-registerrpc >>401 extern int registerrpc(int, int, int, char *(*)(char [UDPMSGSIZE]), xdrproc_t, xdrproc_t); registerrpcの第4引数と第5引数を、xdr_intからxdr_doubleにすることで、 doubleを考慮したネットワークバイトに変換してくれるみたい。 funcの戻り値と引数はchar *func(char *udpmsg)にするのと、 xdr_doubleはxdrproc_tでキャストした方が良い。 static char *func(char *input) { static double output; double *ptr = (double *) input; /** 第4引数のxdr_doubleで読み込み側のネットワークバイトオーダを、第5引数で書き込み側をケア */ output = *ptr + *ptr; return (char *) &output; }
|