rpcgen的简单讲解及例子程序

rpcgen是一个用于自动生成RPC(远程过程调用)服务器和客户端代码的工具。它根据规格说明文件(*.x)生成C语言源码,包括客户端和服务器的stubs,但不包含具体实现。rpcgen的命令行选项如 `-a` 用于生成所有源程序,`-C` 采用ANSI C标准,`-c` 生成xdr转码程序等。示例程序涉及创建规格文件,然后使用rpcgen生成多个源文件,并对生成的客户端和服务器代码进行手动修改以完成实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

rpcgen 简介

rpcgen可以自动生成RPC服务器程序的大多数代码,它的输入为一个规格说明文件,它的输出为一个C语言的源程序。规格文件(*.x)包含常量、全局数据类型以及远程过程的声明。Rpcgen产生的代码包含了实现客户机和服务器程序所需要的大部分源代码。他包括参数整理、发送RPC报文、参数和结果的外部数据表示以及本地数据表示的转换等。不过在由rpcgen生成的源文件中,没有过程的具体实现,所以程序员必须要手工编辑这些文件,实现这些过程。

自动生成的rpc文件

文件名 作用
Makefile.file 该文件用于编译所有客户机,服务器代码
File_clnt.c 该文件包含client_stub,程序员一般不用修改
File_svc.c 该文件包含server_stub,程序员一般不用修改
File.h 该文件包含了从说明中产生的所有XDR类型
File_xdr.c 该文件包含了客户机和服务器stub所需的XDR过滤器,程序员一般不用修改
File_server.c 如果生成此文件,则该文件包含远程服务的stub
File_client.c 如果生成此文件,则该文件包含了骨架客户机程序。

rpcgen的命令行选项

hades@hades:~/c_code$ rpcgen  --help 
usage: rpcgen infile
    rpcgen [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile
    rpcgen [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]
    rpcgen [-s nettype]* [-o outfile] [infile]
    rpcgen [-n netid]* [-o outfile] [infile]
options:
-a      generate all files, including samples
-b      backward compatibility mode (generates code for SunOS 4.1)
-c      generate XDR routines
-C      ANSI C mode
-Dname[=value]  define a symbol (same as #define)
-h      generate header file
-i size     size at which to start generating inline code
-I      generate code for inetd support in server (for SunOS 4.1)
-K seconds  serv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值