E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
container_of
Linux内核中的
container_of
函数简要介绍
container_of
在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。
晴天_QQ
·
2018-06-03 21:11
Linux驱动
Linux内核之
container_of
详细解析
container_of
用来根据成员变量查找所在基结构体的地址,其宏定义如下:#definecontainer_of(ptr,type,member)({\consttypeof(((type*)0)-
降魔者
·
2018-03-22 11:11
linux
Linux内核
container of()函数简介
在linux内核编程中,会经常见到一个宏函数
container_of
(ptr,type,member),但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀?函数还可以这样定义???
s2603898260
·
2018-02-25 21:45
container
of
0指针的使用
Linux驱动
Linux
驱动开发
对linux内核的
container_of
和offsetof宏的理解
linux内核中存在
container_of
宏,其定义如下:/***container_of-castamemberofastructureouttothecontainingstructure*@ptr
gq1900
·
2017-07-22 23:38
Offsetof与
container_of
宏总结
1、前言今天在看代码时,遇到offsetof和
container_of
两个宏,觉得很有意思,功能很强大。
u013684730
·
2017-06-13 20:00
linux
kernel
Container_of
offsetof
C语言之offset_of宏和
container_of
宏
通过结构体整体变量来访问其中各个元素,本质上是通过指针方式来访问的,形式上是通过.的方式来访问的(这时候其实是编译器帮我们自动计算了偏移量)。1:offset_of宏作用:计算结构体中某个元素和结构体首地址的偏移量(其实质是通过编译器来帮我们计算)。定义:#define offsetof(TYPE, MEMBER) ((int) &((TYPE *)0)->MEMBER)参数分析:TYPE是结构体
菜鸟养成记
·
2016-11-08 22:58
offsetof
comtainer
C语言
C语言之offsetof宏和
container_of
宏
首先我们要明白一点通过结构体变量来访问结构体中的各个元素时,其本质上是通过指针的方式来实现访问的,只不过是这个时候编译器帮自动帮我们计算了每个元素与结构体起始地址之间的偏移量而已一:offsetof宏:#define offsetof(TYPE, MEMBER) ((int) &((TYPE *)0)->MEMBER)1:参数与返回值分析:(1)TYPE是结构体类型,MEMBER是结构体中一个元素
菜鸟养成记
·
2016-10-17 16:47
offs
etof
comtainer
C语言
linux 内核中的
container_of
()如何使用
一、如何使用我们先来分析一下
container_of
(ptr,type,member),这里面有ptr,type,member分别代表指针、类型、成员。
lz_1990
·
2016-10-09 15:02
linux内核
container_of
函数原理分析
/***container_of-castamemberofastructureouttothecontainingstructure*@ptr:thepointertothemember.//指向成员变量的指针*@type:thetypeoftheContainerstructthisisembeddedin.//结构体的类型*@member:thenameofthememberwithinth
UmdCoding
·
2016-09-23 23:48
C++
神奇的宏
container_of
()
内容翻译自 http://radek.io/2012/11/10/magical-container_of-macro/当你开始阅读linux内核的代码的时候,你最终会遇到这个神奇的宏。这个宏是做什么的?三个参数:ptr,type,member,分别为:成员的指针,包含这个成员的容器的类型,这个成员的名字返回值:一个指针,指向包含这个成员的容器,如下图这个宏在已知成员名字及指针,想找到包含自己的结
giantpoplar
·
2016-06-30 15:00
linux
kernel
Linux设备模型(Linux设备驱动程序)
container_of
宏对包含在cdev结构中的、名为kp的kobject结构指针进行转换的代码如下:structcdev*device=
container_of
(kp,str
s651665496
·
2016-05-07 15:00
typeof、offsetof、
container_of
链表是内核最经典的数据结构之一,说到链表就不得不提及内核最经典(没有之一)的宏
container_of
。
mrliucsdn
·
2016-03-27 20:00
两个重要的宏 offsetof 和
container_of
《朱老师物联网大讲堂》学习笔记网站:www.zhulaoshi.org#defineoffsetof(TYPE,MEMBER)((int)&((TYPE*)0)->MEMBER)#definecontainer_of(ptr,type,member)({\consttypeof(((type*)0)->member)*__mptr=(ptr);\(type*)((char*)__mptr-offs
qq_18973645
·
2016-03-21 02:00
offsetof与
container_of
宏[总结]
转载自:http://www.cnblogs.com/Anker/p/3472271.html1、前言今天在看代码时,遇到offsetof和
container_of
两个宏,觉得很有意思,功能很强大。
Timsley
·
2016-03-11 17:00
linux
内核链表
linux内核
container_of
宏解析
在看linux内核的源代码的时候,经常会看到一个宏,就是
container_of
,它的作用是由一个结构体的成员指针得到这个结构体的指针。
lwy313722871
·
2016-02-26 09:00
c
linux
源代码
kernel
C语言
宏
Linux 双链表 list_for_each_entry 实现
们知道list_for_each_entry会用到list_entry,而list_entry用到
container_of
,所以首先讲讲
container_of
。
lianliange85
·
2016-02-16 15:00
linux
linux内核 container_ofC语言之应用
之前在剖析内核链表的文章中就有说到这个
container_of
宏展开后的应用技巧。
morixinguan
·
2016-02-04 13:00
offsetof与
container_of
宏[总结]
offsetof与
container_of
宏[总结]1、前言今天在看代码时,遇到offsetof和
container_of
两个宏,觉得很有意思,功能很强大。
XiaoXiaoPengBo
·
2016-01-09 14:00
linux
offsetof
offsetof和
container_of
两个内核中的宏
offsetof是用来判断结构体中成员的偏移位置,
container_of
宏用来根据成员的地址来获取结构体的地址。两个宏设计的很巧妙,值得学习。
koozxcv
·
2015-12-24 14:00
Linux内核源代码情景分析读书笔记(2)-Linux内核中的C语言
对于这样的问题,内核源代码采用的方法如下: 利用宏
container_of
(ptr,type,member) ({ const typeof( ((type *)0)->member) *
·
2015-11-13 06:37
linux
container_of
用法及实现
container_of
有的情况下,只知道 struct结构中莫个成员的指针,而需要知道整个struct的指针 (如网卡驱动里面,list) struct DDD {
·
2015-11-13 04:01
contain
container_of
宏剖析
container_of
宏剖析//该宏位于include/linux/kernel.h 1.定义格式 /** *
container_of
- cast a member of a structure
·
2015-11-12 16:17
contain
揭开linux内核中
container_of
的神秘面纱
在linux 内核中有一个大名鼎鼎的宏
container_of
(),这个宏是用来干嘛的呢?我们先来看看它在内核中是怎样定义的。 呵呵,乍一看不知道是什么东东。
·
2015-11-12 12:24
contain
offsetof与
container_of
宏[总结]
1、前言 今天在看代码时,遇到offsetof和
container_of
两个宏,觉得很有意思,功能很强大。
·
2015-11-12 10:18
contain
container_of
分析
原创分析, 转载请注明出处:http://www.cnblogs.com/langlang/ 作者email:
[email protected]
/* * * container_of - cast a member of a structure out t
·
2015-11-08 12:55
contain
Linux散列表(二)——宏
1、获取元素(结构体)基址 #define hlist_entry(ptr, type, member)
container_of
(ptr,type,member) #define
·
2015-11-08 10:13
linux
链表的
container_of
疑惑
内核中
container_of
定义如下: #define
container_of
(ptr, type, member) ({ \ const typeof( ((type *)0)->member
·
2015-11-07 13:59
contain
如何通过结构体中的任意一个元素的地址得到这个结构体的首地址(
container_of
)
#define
container_of
(ptr, type, member) ({  
·
2015-10-31 15:51
contain
container_of
()宏
在学习Linux驱动的过程中,遇到一个宏叫做
container_of
。
·
2015-10-31 10:20
contain
神奇的
container_of
container_of
是linux内核中常用的一个宏,这个宏的功能是,根据某个结构体字段的指针,找到对应的结构体指针。
·
2015-10-30 12:30
contain
Linux中的list_entry和
container_of
hi.baidu.com/mynana/blog/item/1da1ba99239ceb006f068c48.html list_entry宏是用来根据list_head指针查找链表所嵌入的结构体的地址,具体实现是依赖宏
container_of
·
2015-10-27 16:48
contain
如何通过结构中的某个成员地址获取结构本身的指针???
关于
container_of
见kernel.h中:/***
container_of
- cast a member of a structure out to the containin
·
2015-10-27 16:45
指针
linux内核宏
container_of
. */ 3 #define
container_of
(ptr, type, me
·
2015-10-27 12:16
contain
offsetof与
container_of
宏[总结]
1、前言 今天在看代码时,遇到offsetof和
container_of
两个宏,觉得很有意思,功能很强大。
·
2015-10-27 11:59
contain
usb驱动开发16之设备生命线
static void hcd_release (struct kref *kref) { struct usb_hcd *hcd =
container_of
(kref, struct usb_hcd
·
2015-10-27 11:03
开发
根据结构体里面元素的某个地址计算机构体地址
#include <stdio.h> #include <stdlib.h> #define
CONTAINER_OF
(ptr, type, member)((type *)(
·
2015-10-23 08:19
计算机
typeof, offsetof,
container_of
宏
container_of
宏实现如下: 1 #define
container_of
(ptr, type, member) ({ \ 2 const typeof( ((type
·
2015-10-23 08:47
contain
offsetof与
container_of
宏[总结]
1、前言今天在看代码时,遇到offsetof和
container_of
两个宏,觉得很有意思,功能很强大。
ly0303521
·
2015-10-12 12:00
C语言
Linux内核
container_of
宏和 offsetof 宏分析
1、#defineoffsetof(TYPE,MEMBER)((size_t)&((TYPE*)0)->MEMBER)宏功能:获得一个结构体变量成员在此结构体中的偏移量。1.((TYPE*)0)将零转型为TYPE类型指针;2.((TYPE*)0)->MEMBER访问结构中的数据成员;3.&(((TYPE*)0)->MEMBER)取出数据成员的地址,即相对于0的偏移量,要的就这个;4.(size_t
ly0303521
·
2015-10-12 11:00
C语言
Linux内核学习之路
安装编译内核//安装xz-utils $sudoapt-getinstallxz-utils //解压.xz的内核文件 $xz-d***.tar.xz $tar-xvf***.tar内核
container_of
tanxuan231
·
2015-10-09 11:00
container_of
()详解
原地址:http://radek.io/2012/11/10/magical-container_of-macro/当你开始内核编程的时候,你会随便看看代码,那么你可能很快就会碰到这个神奇的预处理代码结构。它是用来干嘛的?正如它的名称那样,它获取的是它的容器的地址。该函数需要三个变量--指针,容器的类型,指向成员的指针。(译者注:最终返回的是,该成员所处的结构体的指针。知道成员的指针,根据结构体的
murphykwu
·
2015-08-12 15:58
Android开发
container_of
()详解
原地址:http://radek.io/2012/11/10/magical-container_of-macro/当你开始内核编程的时候,你会随便看看代码,那么你可能很快就会碰到这个神奇的预处理代码结构。它是用来干嘛的?正如它的名称那样,它获取的是它的容器的地址。该函数需要三个变量--指针,容器的类型,指向成员的指针。(译者注:最终返回的是,该成员所处的结构体的指针。知道成员的指针,根据结构体
murphykwu
·
2015-08-12 15:00
Linux内核:
container_of
宏分析
我们在编写驱动程序的时候,会经常在open函数中用到
container_of
宏,那么这个在linux内核中这个宏的主要作用是什么呢?
JansonZhe
·
2015-08-07 18:26
linux驱动
linux内核
offsetof与
container_of
宏(个人理解)
1、前言今天在看代码时,遇到offsetof和
container_of
两个宏,觉得很有意思,功能很强大。
liutianshx2012
·
2015-07-27 17:00
container_of
的使用
contanier_of是Linux内核中常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体的地址正确的使用如下:#include#include#defineoffsetof(TYPE,MEMBER)((size_t)&((TYPE*)0)->MEMBER)#definecontainer_of(ptr,type,member
XiaoCk_Linux
·
2015-07-15 14:10
Linux下驱动开发
container_of
的使用
contanier_of是Linux内核中常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体的地址正确的使用如下:#include #include #defineoffsetof(TYPE,MEMBER)((size_t)&((TYPE*)0)->MEMBER) #definecontainer_of(ptr,type,mem
city_of_the_sky
·
2015-07-15 14:00
红黑树实现源码
文件rbtree.h #ifndef_LINUX_RBTREE_H #define_LINUX_RBTREE_H #if defined(
container_of
) #undef
container_of
Finger旋律
·
2015-07-09 17:13
红黑树
红黑树实现源码
文件rbtree.h #ifndef_LINUX_RBTREE_H #define_LINUX_RBTREE_H #if defined(
container_of
) #undef
container_of
Finger旋律
·
2015-07-09 17:13
红黑树
linux内核宏
container_of
前期准备之gcc扩展关键字typeof
typeof基本介绍 1 typeof(x) 这是它的使用方法,x可以是数据类型或者表达式。它的作用时期和sizeof类似,就是它是在编译器从高级语言(如C语言)翻译成汇编语言时起作用,这个很重要,稍后会解释。 当x是数据类型时,它和关键字typedef很相似,只不过typedef是要先定义再使用,而typeof则是可立即使用的,如下: 1
·
2015-05-09 18:00
contain
揭开linux内核中
container_of
的神秘面纱
揭开linux内核中
container_of
的神秘面纱作者:程姚根,华清远见嵌入式学院讲师。在linux内核中有一个大名鼎鼎的宏
container_of
(),这个宏是用来干嘛的呢?
shezjl
·
2015-05-04 09:00
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他