了解 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 文件 的相关文章

  • 将 new 与 decltype 一起使用

    T t T is an implementation detail t new T want to avoid naming T to allow for flexibility t new decltype t error cannot
  • Poco c++Net:Http 从响应中获取标头

    我使用 POCO C Net 库进行 http 我想尝试制定持久缓存策略 首先 我认为我需要从缓存标头中获取过期时间 并与缓存值进行交叉检查 如果我错了 请告诉我 那么我如何从中提取缓存头httpResponse 我已经看到你可以用 Jav
  • 为什么 F# 的默认集合是排序的,而 C# 的不是?

    当从 C 世界迁移到 F 最惯用的可能 思维方式时 我发现了这个有趣的差异 在 C 的 OOP mutable 世界中 默认的集合集合似乎是HashSet https learn microsoft com en us dotnet api
  • 在路由mvc 4中添加公司名称

    我一直在尝试为 Facebook 等用户提供在 URL 中添加公司名称的选项 http localhost 50753 MyCompany Login 我尝试过不同的网址 但没有成功 routes MapRoute name Default
  • 如何在另一个应用程序中挂钩 api 调用

    我正在尝试挂钩另一个应用程序的 ExtTextOut 和 DrawTextExt GDI 方法调用 我知道我需要使用 GetProcAddress 来查找 gdi32 dll 中那些方法的地址 并用我的函数的地址覆盖我想要挂钩的进程中的地址
  • C++ 长 switch 语句还是用地图查找?

    在我的 C 应用程序中 我有一些值充当代表其他值的代码 为了翻译代码 我一直在争论使用 switch 语句还是 stl 映射 开关看起来像这样 int code int value switch code case 1 value 10 b
  • 将完整模板参数值映射到原始类型

    我想将数字映射到类型 在这个例子中 我将创建一个函数 将 sizeof 结果映射到有符号的原始类型 我想知道是否有更好的方法来完成我在现代 C 中所做的事情 即采用模板化值并将其转换为类型 现在 这可以将大小转换为已知类型 但我似乎无法在标
  • CSharpRepl emacs 集成?

    我碰巧知道莫诺CSharpRepl http www mono project com CsharpRepl 是否有 emacs csharp 模式使用它在一个窗口中运行 REPL 并像 python 模式一样在另一个窗口中编译 运行 C
  • std::call_once 可重入且线程安全吗?

    std call once http en cppreference com w cpp thread call once是线程安全的 但它也是可重入的吗 我使用 VS2012 调试和发布 进行的测试表明 调用std call once从单
  • C# 5 async/await 线程机制感觉不对?

    为什么让调用线程进入异步方法直到内部 等待 一旦调用异步方法就生成一个线程 这不是更干净吗 这样您就可以确定异步方法会立即返回 您不必担心在异步方法的早期阶段没有做任何昂贵的事情 我倾向于知道某个方法是否要在 我的 线程上执行代码 不管是堵
  • 为什么'enable_if'不能用于禁用这里声明

    include
  • 在 omp 并行 for 循环中使用 unique_ptr 会导致 SEG.FAULT

    采取以下代码 include
  • 使用查询表达式对 List 进行排序

    我在使用 Linq 订购这样的结构时遇到问题 public class Person public int ID get set public List
  • 使用 C# 和 wpf 创建类似 Dock 的应用程序

    我需要创建一个与我们购买笔记本电脑时获得的应用程序类似的应用程序 仅当鼠标指针到达窗口顶部时它才可见 那么我怎样才能使用 C 4 0 来做到这一点呢 http www notebookcheck net uploads pics win2
  • 如何在三个 IEnumerable 上使用 Zip [重复]

    这个问题在这里已经有答案了 可能的重复 使用 Linq 从 3 个集合创建项目 https stackoverflow com questions 5284315 create items from 3 collections using
  • Project Euler #8,我不明白我哪里出了问题[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在做项目欧拉第八题 https projecteuler net problem 8 其中我得到了这个大得离谱的数字 7316
  • 如何从 Rx Subscribe 回调异步函数?

    我想回调 Rx 订阅中的异步函数 例如 像那样 public class Consumer private readonly Service service new Service public ReplaySubject
  • 从浏览器访问本地文件?

    您好 我想从浏览器访问系统的本地文件 由于涉及大量安全检查 是否可以通过某种方式实现这一目标 或使用 ActiveX 或 Java Applet 的任何其他工作环境 请帮帮我 要通过浏览器访问本地文件 您可以使用签名的 Java Apple
  • 逆向工程 ASP.NET Web 应用程序

    我有一个 ASP NET Web 应用程序 我没有源代码 该 bin 包含 10 个程序集和一个 compiled 文件 我在 App Code dll 上使用 Reflector 它向我显示了类和命名空间之类的东西 但它太混乱了 有没有什
  • INotifyPropertyChanged 和 propertyName

    我一直不确定它的含义propertyName实施时INotifyPropertyChanged 所以一般来说你实现INotifyPropertyChanged as public class Data INotifyPropertyChan

随机推荐

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

    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 编码器 解码器函数 客户端存根和服务器存根 当然 您也可以手动完成 但要做到正确的工作量太大 使