代做毕业设计的网站广告联盟看广告赚钱

news/2025/9/29 22:42:26/文章来源:
代做毕业设计的网站,广告联盟看广告赚钱,wordpress 分类目录 关键词,网站模板购买 优帮云1.container_of宏 1 Container_of在Linux内核中是一个常用的宏#xff0c;用于从包含在某个结构中的指针获得结构本身的指针#xff0c;通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。 2接口#xff1a; container_of(ptr, type, …1.container_of宏 1 Container_of在Linux内核中是一个常用的宏用于从包含在某个结构中的指针获得结构本身的指针通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。 2接口 container_of(ptr, type, member)   ptr:表示结构体中member的地址  type:表示结构体类型  member:表示结构体中的成员 通过ptr的地址可以返回结构体的首地址 3 container_of的实现  #define container_of(ptr, type, member) ({      \     const typeof( ((type *)0)-member ) *__mptr (ptr);    \     (type *)( (char *)__mptr - offsetof(type,member) );})   其实它的语法很简单只是一些指针的灵活应用它分两步 第一步首先定义一个临时的数据类型通过typeof( ((type *)0)-member )获得与ptr相同的指针变量__mptr然后用它来保存ptr的值。 说明typeof是GNU C对标准C的扩展它的作用是根据变量获取变量的类型《typeof关键字在linux 内核中很常见》 第二步用(char *)__mptr减去member在结构体中的偏移量得到的值就是整个结构体变量的首地址整个宏的返回值就是这个首地址。 关于offsetof的用法可参见offsetof宏的使用。 2. 举例来说明container_of的使用 1正确示例: #include stdio.h #define offsetof(TYPE, MEMBER) ((size_t) ((TYPE *)0)-MEMBER) #define  container_of(ptr, type, member) ({                      \                       const typeof( ((type *)0)-member ) *__mptr (ptr);    \                        (type *)( (char *)__mptr - offsetof(type,member) );}) struct test_struct {            int num;           char ch;           float f1;   };  int main(void)   {           struct test_struct *test_struct;           struct test_struct init_struct {12,a,12.3};           char *ptr_ch init_struct.ch;           test_struct container_of(ptr_ch,struct test_struct,ch);           printf(test_struct-num %d\n,test_struct-num);           printf(test_struct-ch %c\n,test_struct-ch);           printf(test_struct-ch %f\n,test_struct-f1);           return 0;   } 执行结果 jibojibo-VirtualBox:~/cv_work/work/list/container_of $ ./main test_struct-num 12 test_struct-ch a test_struct-ch 12.300000 2错误示例 #include stdio.h    #define offsetof(TYPE, MEMBER) ((size_t) ((TYPE *)0)-MEMBER)   #define  container_of(ptr, type, member) ({                      \                            const typeof( ((type *)0)-member ) *__mptr (ptr);    \                           (type *)( (char *)__mptr - offsetof(type,member) );})     struct test_struct {            int num;           char ch;           float f1;   };    int main(void)   {           struct test_struct *test_struct;           char real_ch A;           char *ptr_ch real_ch;           test_struct container_of(ptr_ch,struct test_struct,ch);           printf(test_struct-num %d\n,test_struct-num);           printf(test_struct-ch %c\n,test_struct-ch);           printf(test_struct-ch %f\n,test_struct-f1);           return 0;   } 执行结果为: jibojibo-VirtualBox:~/cv_work/work/list/container_of1 $ ./main test_struct-num 0 test_struct-ch A test_struct-ch 0.000000 注意由于这里并没有使用一个具体的结构体变量所以成员num和f1的值是不确定的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922311.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

photoshop画简单网站苏州网站推广如何

ScrollViewReader是我最喜欢的SwiftUI新版本的新功能之一。在iOS 14发布之前,控制ScrollView的滚动位置并不容易。如果希望滚动视图滚动到特定位置,我们必须找到自己的解决方案。 使用ScrollViewReader,只需几行代码,就可以使滚动…

怎么查看网站是否被收录在线制作表白网站

导语 让我们携手走进一个极具革新性的科技前沿领域,一同揭示能够与人类实现自然流畅对话的ChatGPT背后的运作机制。它犹如一个拥有无尽智慧的对话伙伴,跨越知识边界,回应各种疑问,并能创作出精辟的文章和诗篇。那么,C…

企业网站个人备案php网站如何做多语言

自动驾驶系列—智能巡航辅助功能中的车道中央保持功能介绍 自动驾驶系列—智能巡航辅助功能中的车道变换功能介绍 自动驾驶系列—智能巡航辅助功能中的横向避让功能介绍 自动驾驶系列—智能巡航辅助功能中的路口通行功能介绍 文章目录 2. 功能定义3. 功能原理4. 传感器架构5. 实…

南京做网站的客户电话Wordpress如何加联盟广告

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax类图 【大数据进阶第三阶段之Datax学习笔记】使用…

织梦中查看演示网站怎么做手机做网站空间

1.String str new String("abc"); 请问定义了几个对象。定义了两个对象,一个"abc", 一个是new String().2.面向对象的东西:abstract & interface的各自的作用,区别。3.面向对象的特征,以及怎么实现的。1…

网站建设属于广告费么网站建设123

linux命令df linux命令:检查文件系统的磁盘空间占用情况。 格式:df [选项] 说明:df命令可显示所有文件系统对I节点和磁盘块的使用情况。 命令中各个选项的含义: df -a:显示所有文件系统的磁盘使用情况,包括…

用wordpress做外贸网站百度地图怎么搜街景

来源:数字化企业作为信息化发展到一定程度的必然结果,数字孪生正成为人类解构、描述和认识真实世界和虚拟世界的新型工具。从发展态势来看,数字孪生不仅是全新信息技术发展的新焦点,也是各国实现数字化转型的新抓手,还…

保定哪家做网站专业给排水管道水压试验方案久久建筑网

在 Kotlin 中,抽象类和抽象方法是面向对象编程中的概念,用于实现抽象和多态性。以下是有关 Kotlin 抽象类和抽象方法的详细信息: 抽象类: 定义: 抽象类是用 abstract 关键字声明的类,不能直接实例化。它可…

自己做外贸网站能接到单吗如何更新网站缓存

PDB大致功能描述:创建:用create pluggable database的命令,用file_name_convert的方式拷贝seed pdb的文件到对应的新pdb的路径下。拷贝的是最基本system和sysaux表空间,将新建的pdb从mount的状态打开到read write的状态。建立pdb用…

网站建设需要摊销吗做网站用语言

一、说明 本篇介绍模型模型的参数,模型推理和使用,保存加载。 二、训练参数和模型 在本单元中,我们将了解如何加载模型及其持久参数状态和推理模型预测。为了加载模型,我们将定义模型类,其中包含用于训练模型的神经网…

厦门同安区建设局网站拿网站的文章做外链

参照《经济研究》中毛其淋等(2023)的做法,团队对上市公司员工、工资数据测算。用上市公司i在t年的员工人数的对数衡量企业的就业水平,采用企业应付职工薪酬与员工人数的比值衡量企业工资水平 一、数据介绍 …

详细介绍:网络安全隔离技术解析:从网闸到光闸的进化之路

详细介绍:网络安全隔离技术解析:从网闸到光闸的进化之路2025-09-29 22:00 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important…

常州创新优典网站建设吕梁网站制作

配置WLAN AC和AP之间VPN穿越示例 组网图形 图1 配置WLAN AC和AP之间VPN穿越示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 企业用户接入WLAN网络,以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时,不影响…

一、驱动基础知识速览(迅为RK3568)

一、基础知识编译代码的三个环境变量,ARCH、CROSS_COMPILE、PATH分别表示架构、工具链、路径 驱动模块传参,module_param,module_param_array、module_param_string传递基本数据类型、数组和字符串 内核模块导出EXP…

网站建设人员要与客户谈什么北京工地网站建设

说到天龙八部的附体宝宝,相信许多爱美的玩家基本上都人手一只。附体后的增益多不多无所谓,首先附体后身上有龙、凤凰、蝴蝶等之类的特效,让许多玩家觉得游戏中角色颜值增添不少,当然一只属性不错的附体珍兽,也能够给游…

基于KingbaseES集群管理实战:从部署运维到高可用架构深度解析 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

小型企业网站建站wordpress 底部模板

富格林认为,由于现货黄金具有独特的交易模式,因此让操作起来相当灵活,并且还可以拥有更强的盈利能力。实现盈利出金是投资者的投资目标,但是现货黄金市场复杂其中隐含着不少虚假暗箱陷阱,因此投资者要增强防范意识。下…

嘉定西安网站建设wordpress2

1.初始化npm包 npm init 输入npm init后,一路默认即可初始化成功,如下: 初始化成功后会生成一个package.json文件 n(以我的文件夹demo-npm-dir为例) package.json配置如下: {"name": "n…

java代码审计-Shiro认证授权

java代码审计 Shiro认证授权部分 前言: 这两天发现自己读shiro权限这块有点忘了,于是再好好学一遍shiro,然后结合实战代码审计记录练下1.Shiro 核心组件 shiro中的权限定义:用户,角色,权限 ,如图所示1、Usernam…