GoGPT Best VPN GoSearch

OnWorks 网站图标

rpcgen - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 rpcgen

这是 rpcgen 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


rpcgen - RPC 协议编译器

概要


rpcgen 入档
rpcgen [-D姓名[=折扣值]] [-T] [-K ] 入档
rpcgen -c|-h|-l|-m|-M|-t [-要么 输出文件 ] 入档
rpcgen [-一世] -s 网络类型 [-要么 输出文件] 入档
rpcgen -n 网名 [-要么 输出文件] 入档

商品描述


rpcgen 是一个生成 C 代码以实现 RPC 协议的工具。 输入到 rpcgen
是一种类似于 C 的语言,称为 RPC 语言(Remote Procedure Call Language)。

rpcgen 通常在第一个概要中使用,它需要一个输入文件和
最多生成四个输出文件。 如果 入档 被命名 原型.x, 然后 rpcgen
在里面生成头文件 原型.h, XDR 例程中 原型_xdr.c, 服务器端存根
原型_svc.c, 和客户端存根 原型_clnt.c。 随着 -T 选项,它也会
在中生成 RPC 调度表 原型_tbl.i。 随着 -SC 选项,它也会
生成示例代码,说明如何在客户端使用远程过程
边。 此代码将在 原型客户端.c。 随着 -SS 选项,它也会
生成一个示例服务器代码,它将说明如何编写远程过程。
此代码将在 原型服务器.c.

创建的服务器可以由端口监视器启动(例如, 内网 or )
或单独使用。 当它由端口监视器启动时,它只为
文件描述符的传输 0 通过了。 运输的名称必须是
通过设置环境变量指定 下午_运输. 当服务器
由...生成 rpcgen 执行,它为所有传输创建服务器句柄
指定于 网络路径 环境变量,如果未设置,则创建服务器句柄
对于来自的所有可见传输 /etc/网络配置 文件。 注意:选择了传输
在运行时而不是在编译时。

当为端口监视器构建时 (rpcgen -I),并且服务器是自启动的,它
默认情况下背景本身。 一个特殊的定义符号 RPC_SVC_FG 可用于运行
服务器进程在前台。

第二个概要提供了允许创建更多的特殊功能
复杂的 RPC 服务器。 这些功能包括对用户提供的支持 #定义
RPC 调度表。 RPC 调度表中的条目包含:
· 指向与该过程对应的服务例程的指针,
· 指向输入和输出参数的指针
· 这些例程的大小
服务器可以使用调度表来检查授权,然后执行服务
常规; 客户端库可以使用它来处理存储管理的细节和
XDR 数据转换。

上面显示的其他三个概要在不想生成所有概要时使用
输出文件,但只有一个特定的。 它们的一些用法示例在
下面的示例部分。 什么时候 rpcgen 与执行 -s 选项,它为
那种特殊的运输方式。 当用 -n 选项,它创建一个
指定传输的服务器 网名。 如果 入档 没有指定, rpcgen 接受
标准输入。

C预处理器, cc -E [看到 cc(1)], 在实际运行之前在输入文件上运行
解释者 rpcgen. 对于每种类型的输出文件, rpcgen 定义一个特殊的
预处理器符号供 rpcgen 程序员:

RPC_HDR 文件 编译成头文件时定义
RPC_XDR 编译成 XDR 例程时定义
RPC_SVC 在编译成服务器端存根时定义
RPC_CLNT 在编译成客户端存根时定义
RPC_TBL 编译成 RPC 调度表时定义

任何以`开头的行%' 直接传递到输出文件中,不被解释
rpcgen.

对于引用的每种数据类型 入档, rpcgen 假设存在一个例程
字符串 XDR_ 前置到数据类型的名称。 如果这个例程不存在于
RPC/XDR 库,必须提供。 提供未定义的数据类型允许
XDR 例程的自定义。

可以使用以下选项:

-a 生成所有文件,包括客户端和服务器端的示例代码。

-b 这将为 SunOS4.1 样式的 rpc 生成代码。 是为了落后
兼容性。 这是默认设置。

-5 这将为 SysVr4 样式的 rpc 生成代码。 它由运输使用
Svr4 系统中的独立 RPC。 默认情况下 rpcgen 生成代码
SunOS4.1 stype 的 rpc。

-c 编译成 XDR 例程。

-C 在 ANSI C 中生成代码。此选项还生成可以编译的代码
使用 C++ 编译器。 这是默认设置。

-k 在 K&R C 中生成代码。默认为 ANSI C。

-D姓名[=折扣值]
定义一个符号 姓名。 相当于 #定义 源中的指令。 如果不
折扣值 给出, 折扣值 被定义为 1. 可以指定此选项超过
一旦。

-h 编译成 C 数据定义(头文件)。 -T 选项可以用于
结合生成支持 RPC 调度表的头文件。

-I 生成一个可以从inetd启动的服务。 默认是生成一个
处理所选传输的静态服务 -s。 运用 -I 允许启动
通过任一方法提供的服务。

-K
默认情况下,使用创建的服务 rpcgen 等待 120 维修后几秒钟
退出前请求。 该间隔可以使用 -K 旗帜。 创造
在为请求提供服务后立即退出的服务器, -K 0 可以使用。 到
创建一个永不退出的服务器,适当的参数是 -K -1.

在监视服务器时,某些端口监视器,例如 (1M), 时刻 产生一个
响应服务请求的新流程。 如果知道服务器将
与这样的监视器一起使用,服务器应在完成后立即退出。 为了
这样的服务器, rpcgen 应该与 -K -1.

-l 编译成客户端存根。

-m 编译成服务器端存根,但不生成“主”例程。 这个选项
对于执行回调例程和需要自己编写的用户很有用
“main”例程进行初始化。

-M 生成多线程安全存根以在 rpcgen- 之间传递参数和结果
生成的代码和用户编写的代码。 此选项对于想要
在他们的代码中使用线程。

-n 网名
编译为由指定的传输的服务器端存根 网名. 应该
成为一个条目 网名 在 netconfig 数据库中。 这个选项可以指定更多
不止一次,以便编译一个服务于多种传输的服务器。

-N 使用 rpcgen 的新风格。 这允许过程具有多个参数。 它
还使用与 C 非常相似的参数传递风格。所以,当
将参数传递给远程过程,您不必将指针传递给远程过程
论点,而是论点本身。 这种行为不同于旧式
rpcgen 生成的代码。 由于向后,newstyle 不是默认情况
兼容性。

-o 输出文件
指定输出文件的名称。 如果未指定,则使用标准输出
(-c, -h, -l, -m, -n, -s, -SC, -Sm, -SS-t 仅模式)。

-s 网络类型
为属于该类的所有传输编译为服务器端存根
网络类型. 支持的类是 网络路径, 可见, 电路_n, 电路_v,
数据报_n, 数据报_v, TCPUDP [看到 RPC(3N) 与相关的含义
这些课程]。 可以多次指定此选项。 注:运输
在运行时而不是在编译时选择。

-SC 生成示例代码以显示远程过程的使用以及如何绑定到
服务器在调用由 rpcgen 生成的客户端存根之前。

-Sm 生成可用于编译应用程序的示例 Makefile。

-SS 为服务器端的远程过程生成骨架代码。 你会
需要填写远程过程的实际代码。

-t 编译成RPC调度表。

-T 生成代码以支持 RPC 调度表。

选项 -c, -h, -l, -m, -s-t 专门用于生成特定类型
文件,而选项 -D-T 是全局的,可以与其他选项一起使用。

附注


RPC 语言不支持结构嵌套。 作为一种变通方法,结构可以
在顶层声明,并在其他结构中使用它们的名称,以便
达到同样的效果。

使用程序定义时可能会发生名称冲突,因为明显的作用域不
真的适用。 通过为程序、版本、
程序和类型。

生成的服务器代码 -n 选项是指由指示的传输 网名
因此是非常特定于站点的。


下面的例子:

$ rpcgen -T 保护.x

生成五个文件: pro.h, prot_clnt.c, prot_svc.c, prot_xdr.cprot_tbl.i.

以下示例将 C 数据定义(头文件)发送到标准输出。

$ rpcgen -h 保护.x

发送测试版 -测试,所有传输的服务器端存根
到班级 数据报_n 到标准输出,使用:

$ rpcgen -s 数据报_n -测试 保护.x

为由指示的传输创建服务器端存根 网名 TCP使用:

$ rpcgen -n TCP -o prot_svc.c 保护.x

使用 onworks.net 服务在线使用 rpcgen


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。