0

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

4

2 回答 2

0

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

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

这是你的协议。通常,我们使用 rpcgen 在 C 中生成带有存根的文件,但也有其他“编译”,它们将生成 python 或 java 代码。

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

于 2014-04-06T13:53:29.770 回答
0

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

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

于 2016-10-03T11:05:08.813 回答