码迷,mamicode.com
首页 >  
搜索关键字:offsetof    ( 61个结果
container_of 和 offsetof宏
在linux驱动源码中,有两个很有意思的宏,分别是offsetof和container_of,他们的作用和定义是这样子的offsetof获得结构体某成员相对于结构体的偏移长度/***计算的结构体中某成员的偏移量*/#defineoffsetof(TYPE,MEMBER)((size_t)&((TYPE*)0)->MEMBER)这个实现很巧妙,相当于设结构体的整体地址设成0,然后它的成
分类:其他好文   时间:2018-03-01 13:30:17    阅读次数:127
Linux内核中双向链表的经典实现
Linux内核中双向链表的经典实现 概要 前面一章"介绍双向链表并给出了C/C++/Java三种实现",本章继续对双向链表进行探讨,介绍的内容是Linux内核中双向链表的经典实现和用法。其中,也会涉及到Linux内核中非常常用的两个经典宏定义offsetof和container_of。内容包括:1. ...
分类:系统相关   时间:2018-02-24 14:50:55    阅读次数:260
内核同步机制
内核中用于临界区保护下的互斥机制,它包括自旋锁、原子操作和信号量,三者保证了对临界资源访问的互斥型。 1.1 内核中的互斥机制 1.1.1 自旋锁 自旋锁用在多个CPU系统中。当一个线程在一个CPU上正使用资源,而另一个线程在另一个CPU上正忙等待这个资源的时候,就会用到自旋锁来保护临界资源。在单处 ...
分类:其他好文   时间:2018-02-22 21:22:08    阅读次数:177
Linux内核中的常用宏container_of
/* linux-2.6.38.8/include/linux/compiler-gcc4.h */ #define __compiler_offsetof(a,b) __builtin_offsetof(a,b) /* linux-2.6.38.8/include/linux/stddef.h *... ...
分类:系统相关   时间:2017-12-16 22:09:11    阅读次数:250
注入理解之挂起线程
0x00挂起线程注入原理1.主要是shellcode注入进程后 要让他在获取线程上下文后,修改到我们写入的ShellCode处执行(修改Eip为ShellCode处的地址)2.含义 A->B B做操作在给到A //获得线程上下背景文 Ret = GetThreadContext(ThreadHand ...
分类:编程语言   时间:2017-12-14 23:56:19    阅读次数:315
list_for_each_entry解析
定义: 它实际上是一个 for 循环,利用传入的 pos 作为循环变量,从表头 head 开始,逐项向后(next 方向)移动 pos,直至又回head. 我们将for循环分解为一下三点: 1. for循环初始化 pos = list_entry((head)->next, typeof(*pos) ...
分类:其他好文   时间:2017-10-19 17:38:50    阅读次数:184
JPEG流封装AVI视频
前言:前几天工作任务,要把JPEG流封装为AVI视频,就找了些AVI文件结构资料和示例代码研究了下,现将学习总结及最终完成的可用代码分享出来,由于本人也是现学现用,如有不恰当或错误之处,欢迎提出! 1 AVI文件结构 AVI采用RIFF文件结构方式,RIFF是微软定义的一种用于管理windows环境 ...
分类:其他好文   时间:2017-10-02 13:27:27    阅读次数:436
Linux下的两个经典宏定义【转】
转自:http://www.linuxidc.com/Linux/2015-07/120014.htm 本文首先介绍Linux下的经典宏定义,感受极客的智慧,然后根据该经典定义为下篇文章作铺垫。 offsetof宏定义: // 获得结构体(TYPE)的变量成员(MEMBER)在此结构体中的偏移量。# ...
分类:系统相关   时间:2017-07-07 14:24:33    阅读次数:161
对offsetof、 container_of宏和结构体的理解
offsetof 宏 #include<stdio.h> #define offsetoff(type, member) ((int)&((type*)0)->member) /* ((type*)0)->member 释义:声明一个相应类型的结构体指针,该指针指向0地址处。再通过该指针访问各元素。 ...
分类:其他好文   时间:2017-05-19 19:26:16    阅读次数:228
侵入式单链表的简单实现
通常情况下,单链表的定义是这样子滴, 结构体里包含了链表指针next; 而侵入式单链表却不同,让结构体包含一个通用的链表。看起来是这个样儿滴, 所有包含了list_t link的结点构成一个单链表。前一节我们详细分析了offsetof, typeof和container_of, 下面给出一个最简单的 ...
分类:其他好文   时间:2017-05-04 17:25:43    阅读次数:246
61条   上一页 1 2 3 4 5 ... 7 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!