自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dennis的专栏

一入kernel深似海

  • 博客(23)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 博通BCM575系列 RDMA 网卡驱动 bnxt_re 分析(一)

整个BCM系列驱动分成以太网部分(bnxt_en.ko)和RDMA部分(bnxt_re.ko), 两个模块之间通过内核的auxiliary_bus进行管理.我们主要分析下bnxt_re驱动.

2023-10-25 17:24:19 1168 1

原创 C++ primer第三章作业

3.1节练习3.1:使用恰当的using声明重做1.4.1节(第11页)和2.6.2节(第67页)的练习#ifdef 1#include <iostream>using std::cin;using std::cout;using std::endl;int main(void){ int sum = 0; int i = 50; ...

2018-05-22 12:54:43 211

原创 困扰我的C++语法

作为一个C++ 菜鸟

2018-05-22 09:45:07 151

原创 Unix编程-守护进程

1. 守护进程我是守护进程,我的英文名叫做daemon,传说中的守护神. * 守护进程的生命周期是开机到关机的全过程 * 守护进程是没有控制终端 * 守护进程是其进程组的lead process和会话的首进程,并且守护进程是其所在的进程组和会话的唯一进程 * 守护进程属于孤儿进程组,其父进程init和守护进程不在同一个会话(session)中2.如何编写一个守护进程将文件创建...

2018-04-24 18:37:35 233

原创 git和github的使用

1. 在github上新建一个远程仓库2. 创建本地仓库 git init

2018-04-22 22:29:44 138

原创 bash脚本-求和

开始一个简单的求和脚本,如下所示#!/bin/bashread -p "please: " nucnt=0for ( (i=1;i<=$nu;i++) )do cnt=$(( $cnt + $i ))doneecho $cnt你以为一切真的这么简单,图样图森破 w(゚Д゚)w w(゚Д゚)w格式改来改去还是不对,空格删了又加.结果当然还是.....

2018-04-22 16:27:59 1554

原创 C语言可变参数的实现

x86函数调用惯例在开始说明可变参数的实现之前,我们要说说x86函数调用的一些惯例。函数参数传递是从右向左的入栈顺序,在x86体系中,用户栈是从用户地址空间的顶端开始向下拓展的。va_list可变参数由类型 va_list,一组宏va_start,va_arg,va_end实现。宏的实现根据编译器而有所不同。 下面以VC6.0为例说明va_list的实现。假设一个函数调用fo...

2018-03-03 19:02:16 2424

原创 字典树

1.字典树概论字典树(trie),又称前缀树。是查找树的一种。主要用于大量字符串的存储,查找。搜索引擎通常利用字典树完成用户的搜索提示。与通常的查找树不同,字典树的节点并不存储键(key), 节点的键有节点在树中的位置决定。从树的根开始到某一节点开始遍历可以得到该节点的键。每个节点的键的信息存储在节点间的边中。所有节点的后继的前缀都存储在该节点的键中。根结点与空字符串关联。如下图所示,...

2018-03-01 20:44:54 597

原创 中断下半部-软中断

1 软中断概述软中断是实现中断下半部的一种手段,与2.5以前版本的BH机制不同。软中断可以同时运行在不同的CPU上。1.1 软中断的表示内核中用结构体softirq_action表示一个软中断。软中断是一组静态定义的接口,有32个。但是内核(2.6.34)中只实现了10个。可用的软中断的个数用NR_SOFTIRQ表示,NR_SOFTIRQ=10,软中断的类型用一个枚举体表示。这里需要注意的是,32个

2017-11-19 10:15:04 778

原创 内存分配-slab分配器

1 slab综述1.1 slab分配器产生的背景类似 task_struct mm_struct 等结构被内核中被频繁分配和释放,同时创建和销毁这些结构会产生一定的开销(overhead)。二者累计起来导致大量开销的产生。 Buddy分配器只能分配2^n个页面,对于小于一个页面的内存请求则没有办法。1.2 对象缓存(object cache)Slab的基本思想是使用对象缓...

2017-10-26 22:50:23 781

原创 alloc_pages的实现浅析

alloc_pages的使用struct page *alloc_pages(gft_t gfp, unsigned int order)alloc_pages定义于 inux/gfp.h 中. 该函数用于分配2^order个 连续 的物理页. 分配失败返回NULL。alloc_pages的调用链主功能函数static struct page *get_page_from_freelist(gfp

2017-10-17 21:07:31 2614

原创 Linux内核中内存管理相关的数据结构

本文简要说明几个内核和内存管理有关的结构体。其中 struct page 和 struct zone有较大幅度的删减,主要删减了和NUMA模型SPARSE模型以及内存热插拔相关的域。页框描述符 struct pagepage用于描述一个4KB的物理页。MMU以页为单位管理页表。struct page { unsigned long flags; atomic_t _count;

2017-10-16 22:10:30 382

原创 第8章习题

Exercises8.1 In Figure 8.3, we said that replacing the call to _exit with a call to exit might cause the standard output to be closed and printf to return −1. Modify the program to check whether your i

2017-10-13 21:49:49 316

原创 第7章 习题

习题7.1

2017-10-07 20:01:33 492

原创 第五章 标准I/O库 课后练习题

习题5.1 用setvbuf实现setbuf/************************************************************************* > File Name: mysetbuf.c > Author: Dennis > Mail:[email protected] > Created Time: 2

2017-09-22 18:02:01 480 1

原创 那些学完 Java 在学 C 才会犯的错误(持续更新)

1.#define MAX 81char[MAX] name;

2017-03-04 21:10:45 2298 1

原创 关于String类的split方法

关于String类的split方法方法签名 : public String[] split(String regex)关于split方法我一直有个误解,就是我误以为 regex 是用来提取字符串中的字符的,但实际上 regex 是用来匹配分隔符的代码如下 String passage = "hello everyone,I like you"; String regex1 =

2017-02-24 15:46:50 1209

原创 关于BigInteger类

BigInteger类简介 不可变的任意精度的整数。所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型)。BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。 简单来说 , Big

2016-03-26 00:17:05 510

原创 高效显示Bitmap(一) 高效加载大图

高效显示Bitmap(一) 高效加载大图问题的出现为何需要高效显示Bitmap,或者说为何显示Bitmap容易导致OOM异常 移动设备的内存资源有限,android设备对单个程序至少要求16MB的内存空间, Android Compatibility Definition Document(ACDD)对不同屏幕分辨率和屏幕密度的设备所需要的最小内存作出了阐述,请看下图,应该在这个最低内存限制内优

2016-03-10 00:59:55 2912

原创 1.1简析View和ViewGroup

概论View 和 ViewGroup 是 android 比较重要的概念,因为所有的UI组件都继承自它们,初级阶段我们只要了解一些基本概念就可以了,但是深入学习 android 之后,我们还要学习自定义View,自定义ViewGroup,以及View的事件拦截和分发机制.下面放出一张图,相信大家会对 View 和 ViewGroup 的关系有一个直观的了解:一些概念View : 一个View占

2016-01-19 15:37:39 446

原创 RecycleView和CardView笔记(一)

RecycleView和CardView笔记(一)Recycle和CardView是supportV7包中的组件,也是体现MaterialDesign风格的一组UI组件,这一节我先来讲讲它们的具体用法,先放出一张效果截图:RecycleView的简单用法:1. 如果使用的是AndroidStudio的话,需向build.gradle(注意是app文件夹下的)添加依赖项: dependen

2016-01-17 23:41:10 1652

转载 真正的ViewPager详解

看了一堆的关于ViewPager的文章,我不得不说大部分的文章水平的很水,基本上就是抄来抄去,把别人代码粘贴过来,再随便说几句废话,我想说你要是没弄懂,就发到网上浪费别人时间,不过我还是找到了一篇真正有价值的文章. ViewPager的各种使用方法,都讲的很明白,动画方面,还有图示.  请那些参考别人文章的人,详细的贴出链接.最后链接在此    点击打开链接

2015-12-23 00:13:53 484

原创 AndroidStudio的日常

痛心于windows下的AndoidSudio的启动速度,以及学习linux的目的,将开发环境换到了Ubuntu上,结果打开后发现出现了"can't resolve symbol R"的错误,rebuild了N次Project也没有作用,打开控制台查看发现IDE没有办法打开 sdk/build-tools的aapt,机智的我上stackoverflow上查了查,不查不知道,原来的aapt不能在64

2015-10-12 22:53:46 316

RecycleView和CardView简单使用

RecycleView和CardView简单使用,供大家下载

2016-01-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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