排序:
默认
按更新时间
按访问量

漫谈Linux内核哈希表(2)

对照前面介绍过的内核通知链、链表,本章我们将要介绍的哈希表的初始化和定义也是如出一辙的: 点击(此处)折叠或打开 定义并初始化一个名为name的哈希链表表头 #define HLIST_...

2016-07-24 11:00:49

阅读数:1080

评论数:2

漫谈Linux内核哈希表(1)

关于哈希表,在内核里设计两个很重要的数据结构:    哈希链表节点: 点击(此处)折叠或打开 /*Kernel Version : 3.4.x [include/linux/types.h]*/ ...

2016-07-24 11:00:46

阅读数:929

评论数:0

刨一刨内核container_of()的设计精髓

新年第一帖,总得拿出点干货才行,虽然这篇水分还是有点大,大家可以晒干了温水冲服。这段时间一直在整理内核学习的基础知识点,期间又碰到了container_of()这个宏,当然还包括一个叫做offsetof()的家伙。在这两个宏定义里都出现将“零”地址强转成目标结构体类型,然后再访问其成员属性的情形。...

2016-07-24 11:00:44

阅读数:1201

评论数:1

Linux内核【链表】整理笔记(2)

关于链表我们更多时候是对其进行遍历的需求,上一篇博文里我们主要认识了一下和链表操作比较常用的几个内核API接口,其入参全都是清一色的struct list_head{}类型。至于链表的遍历,内核也有一组基本的接口(其实都是宏定义的)供开发者调用。      首先是list_for_e...

2016-07-24 11:00:41

阅读数:697

评论数:1

Linux内核【链表】整理笔记(1)

我们都知道Linux内核里的双向链表和学校里教给我们的那种数据结构还是些不一样。Linux采用了一种更通用的设计,将链表以及其相关操作函数从数据本身进行剥离,这样我们在使用链表的时候就不用自己去实现诸如节点的插入、删除、遍历等操作了。当然,Linux也是从2.1.x内核开始才对链表进行了这样的统一...

2016-07-24 11:00:38

阅读数:427

评论数:1

Linux 内核通知链随笔【中】

关于内核通知链不像Netlink那样,既可以用于内核与用户空间的通信,还能用于内核不同子系统之间的通信,通知链只能用于内核不同子系统之间的通信。那么内核通知链到底是怎么工作的?我们如何才能用好通知链?内核源代码里随处可见的通知链身影,我们到底该如何理解呢?本片博文过后,您的这些疑问和顾虑将统统消除...

2016-07-24 11:00:35

阅读数:804

评论数:0

关于openssl几个API的一点小收获

今天心血来潮突然想搞搞openssl了,趁着端午小假,刚好有空可以鼓捣孤岛自己喜欢的东西,出去东奔西跑的实在太造孽了,还是宅起来给自己充充电吧。下载openssl最新代码1.0.1g,修复了“心血漏洞”那个版本。编译安装那些小儿科的东西就不再浪费笔墨了,如果出现头文件或者库文件之类的错误,请在本人...

2016-07-24 11:00:33

阅读数:1213

评论数:0

经典排序算法归纳笔记(4)

前面三篇博文我们分别回顾了冒泡排序、选择排序、插入排序、希尔排序、归并排序、堆排序和快速排序。关于排序算法有几种分类标准,稳定与非稳定、内部与外部。    所谓稳定的排序算法,意思是如果待排序序列有相同元素,经过排序算法处理后他们的相对顺序和排序前在序列里的相对顺序一样,这样我们就称该排序算...

2016-07-24 11:00:30

阅读数:550

评论数:0

经典排序算法归纳笔记(2)

上一篇我们回顾了选择和冒泡排序、以及改进的冒泡排序两种算法,今天我们来看一下插入排序和希尔排序。 插入排序     插入排序的本质是将待排序序列分成有序和无序两部分,通常情况下我们都认为序列的第一元素是有序的,所以插入排序一般是从序列的第二个元素(下标是1的位置)开始。插入排序的的思想是:...

2016-07-24 11:00:28

阅读数:263

评论数:0

经典排序算法归纳笔记(1)

除了刚迈出校门找工作那会儿对基本排序算法还算“了然于心”,随着工作和时间的推移,当回头再来看这些基础的不能再基础的东西时,绝大多数人无法写出经典排序算法的核心代码,甚至连算法原理都忘了。我承认,自己就是这样的人,所以今天有空将常见的几种排序算法复习一下,写个笔记。一方面给自己一个“重新做人”的机会...

2016-07-24 11:00:25

阅读数:651

评论数:1

从新版本系统调用学习宏定义的用法

这段时间又碰到系统调用这个家伙,结果在我当前用的3.0.x内核里全变样了。为了将这个问题弄明白,还得自己动手才行,这里非常感谢CSDN的"海风林影"兄弟提供的博文和相关参考文献,还是那句话“成果和荣耀归于前辈”。    很多人也都发现,在2.6.28及其之后的内核源码里,...

2016-07-24 11:00:22

阅读数:840

评论数:0

多媒体技术基础之---色彩空间

上一篇博文里,我们已经了解到图像是如何数字化的,但是关于数字图像的存储和显示问题还没提到,但在了解数字图像的存储和显示之前,我们先得弄明白数字图像里一个让很多人迷糊的概念:色彩空间。有的技术文献里也将其表述为颜色模型、颜色空间等,说的都是同一个东西。    关于色彩空间,我...

2016-07-24 11:00:19

阅读数:605

评论数:0

多媒体技术基础之---图像

2012年11月13日,83岁的柯达公司退休工程师布赖斯·拜尔(Bryce Bayer)离开了这个世界,永远离开了我们,离开了爱戴他的人们,而他在数字图像领域的杰出成就不应该就这样被淹没在历史的洪流里,所以,谨以2014年第一篇博文献给伟大的布赖斯·拜尔先生。 图像的历史  ...

2016-07-24 11:00:16

阅读数:1068

评论数:0

"2013":爱你不容易

2013对我来说确实像年初时曾给自己定义的那样,真的是非常不平常的一年。依稀记得去年年终时,BOSS和我深聊了1多钟头,谈到职业规划、人生还有家庭的林林种种。春节在家时也仔细考虑过2013自己该如何规划,现在站在2013的尾巴上回顾这一年的时候,虽然没有严格按照预定的计划进行开展,但在BOSS和领...

2016-07-24 11:00:14

阅读数:604

评论数:0

谈谈Linux下动态库查找路径的问题

学习到了一个阶段之后,就需要不断的总结、沉淀、清零,然后才能继续“上路”。回想起自己当年刚接触Linux时,不管是用源码包编译程序,还是程序运行时出现的和动态库的各种恩恩怨怨,心里那真叫一个难受。那时候脑袋里曾经也犯过嘀咕,为啥Linux不弄成windows那样呢,装个软件那个麻烦不说,连运行软件...

2016-07-24 11:00:11

阅读数:815

评论数:2

CentOS6.4完全安装FFmpeg手记

鼓捣媒体的人对FFmpeg应该不会陌生,它不仅功能强大,结构优美,灵活、易扩展,也是很其他多媒体播放器的基础,例如VLC,Mplayer等等,还有好多商业播放器都用了ffmpeg,但这些商业软件却没有遵守GPL公约,所以它们都被钉在了ffmpeg官网的“耻辱柱”上。关于ffmpeg还有一点题外话,...

2016-07-24 11:00:08

阅读数:1566

评论数:0

多媒体技术基础之---Come on!来点儿音乐吧

其实要说在Linux系统下播放音乐,确实是一件让人非常抓狂的事情,抛开各种音频格式的商业授权不说,即使提供给你相应的解码库,能玩儿得转的人那又是少之又少。可能有些盆友说ubuntu这方面确实做得不错,一旦默认安装好,几乎不用装任何其他东西,常见的是音频文件都可以正常播放了。因为我天生就有股喜欢折腾...

2016-07-24 11:00:06

阅读数:566

评论数:0

多媒体技术基础之---重新认识声音

声音一个最基本的常识就是“它是一种能量”,初中物理课上我们也学过声音的三要素分别是音色、音调和响度。     音色:简单理解,就是一种声音的固有特征。比如,电子琴和小提琴发出的声音是有明显区别的,笛子和古筝也有各自的声音特征。有些声音模仿秀的选手可以通过训练,达到模仿不同人或者不同乐器的效果。 ...

2016-07-24 11:00:03

阅读数:884

评论数:0

深入理解C语言的函数调用过程

本文主要从进程栈空间的层面复习一下C语言中函数调用的具体过程,以加深对一些基础知识的理解。     先看一个最简单的程序: 点击(此处)折叠或打开 /*test.c*/ #inclu...

2016-07-24 11:00:00

阅读数:1328

评论数:0

Segmetation fault你来的真不是时候

问题是这样的,今天一个简单的C程序,用gcc编译成汇编语言后,本来想在里面改点东西,结果运行时就报了“Segmetation fault”。它丫来的还真不是时候,刚好最近正好烦它呢,谁知自己倒送上门来了。OK,择日不如撞日,今儿就拿你开刀了。     源代码如下: 点击...

2016-07-24 10:59:57

阅读数:868

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭