我浏览了互联网上的几个网站,实际上想知道我们如何在规范中编写规范.x文件以生成等效函数
通常,您可以从 .x 文件生成三“组”代码:消息 xdr 编码器/解码器函数、客户端存根和服务器存根(当然,您也可以手动完成,但要做到正确的工作量太大)。使用 -a 选项运行 rpcgen 也会生成客户端、服务器和示例实现。首先尝试使用一个简单的例子:
program STRLEN {
version STRLENVERS {
int strlen(string) = 1;
} = 1;
} = 117;
规格program
是 RPCL 但 XDR 语言的一部分。如果将上述规格放入test.x文件并使用运行它rpcgen -C test.x
,那么他/她就会得到
测试.h,
测试_svc.c,
test_clnt.c
如果不需要任何服务器或客户端存根,只需要 XDR 的编码器和解码器功能,则文件中的每个规范(例如枚举、结构、联合等)gm_协议.x将生成其等效的基于 C 的声明gm_协议.h及其相应的XDR编码器和解码器函数将在gm_protocol_xdr.c,这是问题中指定的情况。
Running rpcgen -a gm_protocol.x
会产生gm_protocol_svc.c and gm_protocol_clnt.c没有任何功能。
以下是一些 XDR 规格:
检查旧的 SUN 文档http://www.shrubbery.net/solaris9ab/SUNWdev/ONCDG/toc.html http://www.shrubbery.net/solaris9ab/SUNWdev/ONCDG/toc.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)