什么是协议编译器?为什么rpcgen被称为协议编译器?

时间:2014-04-05 17:28:08

标签: rpc sunrpc

为什么rpcgen被称为协议编译器?我知道远程过程调用的基础知识,但我不知道术语协议编译器,无法在任何地方找到解决方案。

2 个答案:

答案 0 :(得分:0)

rpcgen将带有协议描述的dot-x文件作为输入,生成实现客户端所需的文件,并获得定义的协议。例如,假设您要创建一个服务来计算字符串长度。您必须在协议中提供dot-x:

/* strlen.x */
program STRLEN {
    version STRLENVERS {
        int strlen(string) = 1;
    } = 1;
} = 117

这是你的协议。一般来说,我们使用rpcgen来生成带有存根的文件,但是其他的编译是“其他编译”。同样,它将生成python或java代码。

对于xdr语言语法,请查看官方文档:http://docs.oracle.com/cd/E19683-01/816-1435/xdrproto-ex-70/index.html

答案 1 :(得分:0)

在rpcgen的情况下,它被用作额外的编译器 - 它根据协议文件编译新文件' .x' - 在协议文件中指定rpcgen应为您编译的内容。

rpcgen对其.x文件使用特定协议 - XDR语言规范