了解 XDR 规范以创建 *.x 文件

2024-02-16

我浏览了互联网上的几个网站,实际上想知道我们如何在规范中编写规范.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(使用前将#替换为@)

了解 XDR 规范以创建 *.x 文件 的相关文章

随机推荐

  • 什么时候使用二项式堆?

    Binomial Heap有相当特别的设计 我个人认为这个设计并不直观 尽管诸如此类的帖子二项堆和二项式堆有什么区别 https stackoverflow com questions 6215485 what is the differe
  • *** 检测到 glibc *** Perl:双重释放或损坏 (!prev):0x0c2b7138 ***

    运行 perl 程序时遇到以下错误 glibc detected perl double free or corruption prev 0x0c2b7138 lib tls i686 cmov libc so 6 0xb7daea85 l
  • 如何获取类似于使用 document.body 获取 BODY 的 HTML 元素? [复制]

    这个问题在这里已经有答案了 我知道有一种方法可以做到这一点 但我不记得如何做 如何使用纯 JavaScript 获取 HTML 元素 DOM 中最顶层的元素 Use document documentElement 请参阅文档 https
  • Cordova插件手动安装

    我尝试安装这个插件 https github com Tlantic cdv socket plugin在我的 Phonegap 应用程序上 但是该对象window tlantic plugins socket似乎没有被实例化 我认为这是因
  • 如何使用 Python、PyQt5 和 Pyinstaller 修复未正确显示的按钮

    I created an interface using Qt Designer and integrated it into my python code using PyQt5 I then created an exe file us
  • 无法从内容页面访问内容控件?

    我的内容页面如下所示
  • 安卓; “密钥发送超时……”

    我有一个菜单活动和一个从菜单启动的游戏活动 有些 大多数 时间我启动游戏活动 所有输入都会挂起几秒 最多 10 秒 然后在 logcat 中得到以下信息时以超高速播放 11 20 18 24 27 873 WARN WindowManage
  • 撤销授予我的应用 Google Drive API 的访问权限

    如何撤销已授予我的 Google 云端硬盘网络应用程序的访问权限 以便在用户下次使用时重新请求权限 要撤销您的访问令牌 您需要 GET 此网址 https accounts google com o oauth2 revoke token
  • Android:意图过滤器验证失败

    我的目标是让 Android 自动打开任何以test touchwonders com在我的应用程序中 我已将所需的文件放在我的服务器上 https test touchwonders com well known assetlinks j
  • Express 在 url 末尾奇怪地添加斜杠

    我正在使用 Node js 和 Express 框架来开发网站 我遇到了 url 的奇怪行为 当我单击相关链接 url 时 url 变为 localhost 3000 images 如您所见 末尾添加了斜杠 但是当我将所有 图像 更改为 i
  • Quarkus 异常处理程序

    quarkus 提供异常处理程序吗 我想要像 Spring 的 ControllerAdvice 这样的东西 https www baeldung com exception handling for rest with spring ht
  • 渲染自定义属性 KNP 菜单

    有没有办法在 KNP 菜单包中呈现自定义属性 如下所示 menu factory gt createItem Role ROLE PROGRAM EVENT PLANNER array route gt show form events a
  • 同步并发请求以共享缓慢操作的结果

    我有一个 Java UI 服务 它有一个 API 方法 该方法调用一个相对较慢的操作 比如大约 30 秒 该操作是无参数的 但它对随时间变化 相对缓慢 的外部数据进行操作 该方法返回最新结果并不重要 如果它们是 30 秒的旧结果 那就可以接
  • 如何将 PHP in_array 与关联数组一起使用?

    是否有任何php函数 例如in array 用于通过mysql函数 mysql fetch assoc 获得关联数组 例如 如果我有一个如下所示的 array array 0 gt array ID gt 1 name gt Smith 1
  • 在 HTML 与 CSS 中指定页面加载的图像尺寸

    我很久以前就从某个地方了解到 指定宽度和高度 img HTML 文档中的元素可以加快并改善页面加载体验 并且通常遵循以下做法 img src width 100 height 100 我现在面临的情况是 单个页面上有大量图像 我更喜欢通过
  • 从 Azure VM 打开活动 FTP 连接

    我正在尝试通过 Azure VM 的活动连接连接到远程 FTP 服务器 我收到的错误是 非法 PORT 命令 我使用被动连接连接到其他 FTP 站点没有问题 但此 FTP 服务器仅支持主动连接 我的问题基本上与这个问题 https serv
  • 如何使用php从周数中查找月份号、名称

    如何使用php从周数中查找月份号 名称 如果您有ISO week http en wikipedia org wiki ISO week date数字 然后获取您可以使用的月份 一周的开始 strtotime http php net st
  • 事务管理和 CDI

    我想用CDI 我通常使用Spring 开发一个应用程序来发现这项技术 我读过很多关于 CDI 的文章来了解它是如何工作的 我有一个关于事务管理的简单问题 例如数据库中的持久性 是否必须使用 EJB 3 1 来进行事务管理 或者是否可以仅使用
  • R 闪亮的数据表列用线分割

    我在闪亮的服务器中生成一个数据表 如下所示 x renderTable rownames FALSE 并有一个像这样的用户界面 tableOutput x 现在我希望每隔一列就有一个分割标记为线条 例如 a b c d e 1 2 2 3
  • 了解 XDR 规范以创建 *.x 文件

    我浏览了互联网上的几个网站 实际上想知道我们如何在规范中编写规范 x文件以生成等效函数 通常 您可以从 x 文件生成三 组 代码 消息 xdr 编码器 解码器函数 客户端存根和服务器存根 当然 您也可以手动完成 但要做到正确的工作量太大 使