如何在 Linux 内核中将 __u32 转换为 __be32

2023-12-28

我有一个变量

__be32 x;

我有一个功能

__u32 foo(void){
      __u32 a;
      return a;
}

我需要将 foo 的返回值存储在变量中x.

x=htonl(foo());

这是对的吗? 我很困惑什么是返回类型ntohl() and htonl()。他们是相反的吗?

为了检查输出,我需要重新编译内核,并且我不想让我的系统出现任何错误。所以我在这里问。


您可以使用 kernel.h 中定义的宏:

http://www.bruceblinn.com/linuxinfo/ByteOrder.html http://www.bruceblinn.com/linuxinfo/ByteOrder.html

以下宏返回转换后的值。 注意:linux/kernel.h头文件是应该的头文件 包含在使用这些宏的源文件中,但它是 不是实际定义宏的头文件。

#include <linux/kernel.h>
__u16   le16_to_cpu(const __le16);
__u32   le32_to_cpu(const __le32);
__u64   le64_to_cpu(const __le64);

__le16  cpu_to_le16(const __u16);
__le32  cpu_to_le32(const __u32);
__le64  cpu_to_le64(const __u64);

__u16   be16_to_cpu(const __be16);
__u32   be32_to_cpu(const __be32);
__u64   be64_to_cpu(const __be64);

__be16  cpu_to_be16(const __u16);
__be32  cpu_to_be32(const __u32);
__be64  cpu_to_be64(const __u64);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Linux 内核中将 __u32 转换为 __be32 的相关文章

  • Poco c++Net:Http 从响应中获取标头

    我使用 POCO C Net 库进行 http 我想尝试制定持久缓存策略 首先 我认为我需要从缓存标头中获取过期时间 并与缓存值进行交叉检查 如果我错了 请告诉我 那么我如何从中提取缓存头httpResponse 我已经看到你可以用 Jav
  • 单元测试验证失败

    我正在运行我的单元测试PostMyModel路线 然而 在PostMyModel 我用的是线Validate
  • 将完整模板参数值映射到原始类型

    我想将数字映射到类型 在这个例子中 我将创建一个函数 将 sizeof 结果映射到有符号的原始类型 我想知道是否有更好的方法来完成我在现代 C 中所做的事情 即采用模板化值并将其转换为类型 现在 这可以将大小转换为已知类型 但我似乎无法在标
  • 从代码中,如何创建对存储在附加属性中的对象的属性的绑定?

    我们有一个继承的附加属性来存储一个对象 在可视化树的更下方 我们希望从代码绑定到该对象的属性 通常我们像这样构建绑定的路径部分 var someBinding new Binding Path new PropertyPath Attach
  • std::call_once 可重入且线程安全吗?

    std call once http en cppreference com w cpp thread call once是线程安全的 但它也是可重入的吗 我使用 VS2012 调试和发布 进行的测试表明 调用std call once从单
  • 访问 ascx 文件中的母版页控件

    我有一个母版页文件 其中包含 2 个面板控件中的 2 个菜单 我还使用控件来检查用户是否登录并获取用户类型 根据我想要显示 隐藏面板的类型 控件本身不在母版页中引用 而是通过 CMS 系统动态引用 我想在用户控件中使用findcontrol
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • 将接口转换为其具体实现对象,反之亦然?

    在 C 中 当我有一个接口和几个具体实现时 我可以将接口强制转换为具体类型 还是将具体类型强制转换为接口 这种情况下的规则是什么 Java 和 C 中都允许这两个方向 向下转型需要显式转型 如果对象类型不正确 可能会抛出异常 然而 向上转换
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • C#6 中的长字符串插值行

    我发现 虽然字符串插值在应用于现有代码库的字符串 Format 调用时非常好 但考虑到通常首选的列限制 字符串对于单行来说很快就会变得太长 特别是当被插值的表达式很复杂时 使用格式字符串 您将获得一个可以拆分为多行的变量列表 var str
  • 析构函数中的异步操作

    尝试在类析构函数中运行异步操作失败 这是代码 public class Executor public static void Main var c1 new Class1 c1 DoSomething public class Class
  • 为什么 Cdecl 调用在“标准”P/Invoke 约定中经常不匹配?

    我正在开发一个相当大的代码库 其中 C 功能是从 C P Invoked 的 我们的代码库中有很多调用 例如 C extern C int stdcall InvokedFunction int 使用相应的 C DllImport CPlu
  • 从BackgroundWorker线程更新图像UI属性

    在我正在编写的 WPF 应用程序中 我有一个 TransformedBitmap 属性 该属性绑定到 UI 上的 Image 对象 每当我更改此属性时 图像就会更新 因此显示在屏幕上的图像也会更新 为了防止在检索下一张图像时 UI 冻结或变
  • 使用 GCC 生成可读的程序集?

    我想知道如何使用GCC http en wikipedia org wiki GNU Compiler Collection在我的 C 源文件中转储机器代码的助记符版本 这样我就可以看到我的代码被编译成什么 你可以使用 Java 来做到这一
  • Linux mremap 不释放旧映射?

    我需要一种方法将页面从一个虚拟地址范围复制到另一个虚拟地址范围 而无需实际复制数据 范围很大 延迟很重要 mremap 可以做到这一点 但问题是它也会删除旧的映射 由于我需要在多线程环境中执行此操作 因此我需要旧映射能够同时使用 因此稍后当
  • ASP.NET MVC 路由:如何从 URL 中省略“索引”

    我有一个名为 StuffController 的控制器 具有无参数索引操作 我希望从表单中的 URL 调用此操作mysite com stuff 我的控制器定义为 public class StuffController BaseContr
  • CUDA 8 编译错误 -std=gnu++11

    我正在尝试转换一些代码以使用 CUDA 并且我认为我遇到了兼容性问题 我们使用CMake 这些是我使用的 gcc 和 CUDA 版本 gcc version gcc Ubuntu 5 4 0 6ubuntu1 16 04 5 5 4 0 2
  • 如何调试 .NET 运行时中的内部错误?

    我正在尝试调试一些处理大文件的工作 代码本身works 但 NET 运行时本身会报告零星错误 对于上下文 这里的处理是一个 1 5GB 文件 仅加载到内存中一次 在循环中处理和释放 故意尝试重现此否则不可预测的错误 我的测试片段基本上是 t
  • 需要提取字符串中点后的最后一个数字,如“7.8.9.1.5.1.100”

    我需要提取 C 字符串中最后一个点后面的最后一个数字 例如 7 8 9 1 5 1 100 并将其存储在整数中 Added 该字符串也可以是 7 8 9 1 5 1 1 或 7 8 9 1 5 1 0 我还想验证它在最后一个点之前恰好是 7
  • 结构化绑定的用例有哪些?

    C 17 标准引入了新的结构化绑定 http en cppreference com w cpp language structured binding功能 最初是proposed http www open std org jtc1 sc

随机推荐

  • opencv.js 透视变换

    我正在尝试使用 opencv js 在提供的图像中查找文档 检测边缘 应用透视变换等 我有一组合理的代码 可以 偶尔 检测文档的边缘并获取其边界框 然而 我正在努力完成透视变换步骤 有一些帮助程序 不是在 JS 中 here https s
  • IE <= 8 从 AJAX 接收时删除
    标签

    我正在进行 AJAX POST 调用来获取一些 HTML 我获取该 HTML 并将其注入到 DOM 中 除了 IE 它正在删除的行
  • 参数与字符串插值

    使用参数比使用字符串插值有什么优点 Is this SELECT FROM dbo Posts WHERE Author p0 userSuppliedAuthor 有什么比 SELECT FROM dbo Posts WHERE Auth
  • 如何使用 d3.behavior.zoom() 平移时消除“跳跃”

    这是一个演示 http jsbin com okUxAvE 18 edit js 输出 http jsbin com okUxAvE 18 edit js output 我在用着d3 behavior zoom 这也进行平移 我only想要
  • 如何用角度2生成UUID?

    我使用 Angular 2 作为注册表单 名字 姓氏 电子邮件和密码 提交后 数据通过 API 调用存储在数据库 nodeJs 和 mongo 中 并生成 JWT 令牌 并发回客户端 现在我应该添加 生成一个 UUID 通用唯一标识符 由于
  • Angular 6 如何在应用程序组件加载之前加载服务?

    我在数据服务中获取 JSON 对象值 但所有组件均在数据服务加载之前加载 因此 当我从组件调用服务方法时 我得到了未定义的值 我假设您正在使用路由器来访问您的页面 因此您可以简单地使用 解析器 功能 RouterLink 描述 path a
  • 在 Eclipse 中将通配符与内容辅助结合使用

    我想知道在 Ecilpse 中使用内容辅助时是否有任何方法可以使用通配符 例如 今天我想在类路径上找到以 Exception 结尾的各种类 我尝试了以下组合 但在每个实例中 内容辅助仅显示以 Exception 开头的类或接口 Except
  • C++ HTML 生成类

    提出的问题杰巴尔的问题 https stackoverflow com questions 779573 what works for web dev in c 779585 779585 在 Python Ruby 和 Perl 等脚本语
  • 检查日期是“明天”还是“后天”

    我正在寻找一种方法来获得 tomorrow and 后天 从接收日期的函数返回 当前日期 2015 04 24 18 15 00 未来的日期 2015 04 25 02 40 00 该函数应在此处返回 明天 我尝试查找一些函数 但它们都返回
  • 我是否必须在 T-SQL 中的 catch 块中回滚事务之前对事务进行计数?

    我在 SQL Server 2008 的每个存储过程的末尾都有下一个块 BEGIN TRY BEGIN TRAN my code COMMIT END TRY BEGIN CATCH IF trancount gt 0 BEGIN ROLL
  • 单击 Next.js 中的链接时如何在 URL 中强制使用默认区域设置

    出于搜索引擎优化的目的 我需要将英语设置为默认语言 gt mynextapp com 当用户进入网站时 他 她可以选择英语或法语 如果选择英语 则网址将更改为mynextapp com en 如果选择法语 gt mynextapp com
  • React 忽略 label 元素的 'for' 属性

    在 React Facebook 的框架 中 我需要使用标准渲染绑定到文本输入的标签元素for属性 例如使用以下 JSX
  • 联系人号码的格式

    我正在为 Android 编写一些短信应用程序 但遇到问题 我从一个模拟器向另一个模拟器发送短信 该短信的发送电话号码为 15555215556 当我将该号码保存到联系人时 它会以 1 555 521 5556 格式保存 接下来 当我的应用
  • Docker 化 PostgreSQL - psql 连接被拒绝

    我正在使用 Docker 我想 Dockerize 一个 Postgres 容器 我关注官方example http docs docker com examples postgresql service 但我无法连接到使用 psql 运行
  • 如何在 UINavigationBar 自定义 titleView 中使用自动布局

    In WWDC 2017 演讲 204 https developer apple com videos play wwdc2017 204 他们说您可以在自定义 titleView 中使用自动布局 事情发生在7点53分左右 他们从未展示如
  • java中的do while循环只执行一次指令

    在java中 我们如何在do while循环中只执行一次指令 do int param execute this onty one time depends of param other instructions instructions
  • Elasticsearch 分析百分比

    我正在使用 Elasticsearch 1 7 3 来积累分析报告的数据 我有一个保存文档的索引 其中每个文档都有一个名为 持续时间 的数字字段 请求花费了多少毫秒 和一个名为 组件 的字符串字段 可以有许多具有相同组件名称的文档 Eg c
  • jQuery element.closest(...).attr 在使用each时不是一个函数

    当迭代某些 DOM 元素时 我发现无法在它们上使用 data 或 attr running each index element gt console log element closest data id gets me section
  • 将协作者添加到分叉的私人存储库

    我有免费的 GitHub 帐户并分叉了一个私人仓库 现在我想将协作者添加到我的分支中 但 设置 页面下没有 协作者 选项卡 免费计划不提供此功能吗 这可能是由于您分叉了一个private回购 因此 只有您分叉的原始存储库的所有者可以与其他用
  • 如何在 Linux 内核中将 __u32 转换为 __be32

    我有一个变量 be32 x 我有一个功能 u32 foo void u32 a return a 我需要将 foo 的返回值存储在变量中x x htonl foo 这是对的吗 我很困惑什么是返回类型ntohl and htonl 他们是相反