自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一棵小草的空间

吸收知识 积累技术 茁壮成长

  • 博客(178)
  • 收藏
  • 关注

转载 linux命令之netstat源码

/* * Copyright (c) 2008, The Android Open Source Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that ...

2018-12-02 12:14:59 791

转载 spin_lock、spin_lock_bh、spin_lock_irq、spin_lock_irqsave的使用

概述Spinlock的目的是用来同步SMP中会被多个CPU同时存取的变量。在Linux中,普通的spinlock由于不带额外的语义,用起来反而要非常小心。在Linux kernel中执行的代码大体分normal和interrupt context两种。tasklet/softirq可以归为normal因为他们可以进入等待;nested interrupt是interrupt context的一...

2018-12-01 23:29:25 6036

原创 realloc使用误区

realloc使用误区realloc函数用来重新分配一段内存区域,使用它需要包含头文件<stdlib.h>。其函数原型为:void *realloc(void *ptr, size_t size);其中参数ptr是旧内存区域的地址,size是需要的新的内存区域的大小(size可以比旧内存区域大或小)。分配时,首先判断ptr指向的区域是否有足够的空间,如果有,则增大(或减少)该...

2018-10-13 22:43:58 6814

转载 wpa_supplicant软件架构分析

wpa_supplicant软甲架构分析

2017-06-25 00:33:13 622

转载 Android Softap开启流程分析

Android Wifi架构Android Softap开启流程Softap字面意思是用软件实现AP的功能,让你的移动设备可以作为一个路由,让别的站点链接。当你在手机或平板上通过按钮开启softap时,系统接受ap设置界面变化打开的响应,从此开启了整个Android SoftAP的序幕。

2017-06-06 00:17:52 9055 2

转载 实现c语言中的可变参数函数

实现c语言中的可变参数函数

2016-09-17 23:14:33 660

转载 宏定义实现调试信息的打印控制

宏定义接受可变数量的参数

2016-09-17 22:46:25 3527

转载 Linux内核队列——kfifo

内核kfifo

2016-09-04 22:50:13 1507

转载 全能型开源远程终端:MobaXterm

MobaXterm功能介绍

2016-09-04 18:13:54 15124

原创 while循环输入字符串中以Esc键作为循环结束标识——scanf读取带空格字符串

需求在一个字符串输入循环中,判断输入的是字符串还是Esc按键,如果是Esc按键则结束循环。

2016-08-30 22:50:39 5373

转载 linux配置:直接用VIM默认打开文件

通过配置,使某些类型的文件的默认打开方式为vim打开

2015-11-13 16:09:04 3163

转载 Linux内核(驱动)常用函数

Linux内核常用函数

2015-11-09 21:51:53 1434

原创 不排序找到第k大的值

给定一个拥有n个数据的无序集合,以及k(1≤k≤n),找出该集合中第k大的值。

2015-11-08 22:21:18 2482

转载 RPC原理

一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?2)其它团队要使用我们的服务,我们的服务该怎么发布以便他人调用?

2015-11-01 20:18:02 362

转载 疯狂到相信自己能够改变世界,工程师就是这么一群人

疯狂到相信自己能够改变世界,工程师就是这么一群人这个说法,和我心目中的工程师该有的形象吻合

2015-11-01 18:22:15 1062

转载 C语言强制类型转换

c语言强制类型转换规则

2015-10-19 19:02:41 795

转载 malloc/free与new/delete的区别

malloc/free和new/delete的区别

2015-10-17 22:34:30 325

原创 c语言中地址加法与减法

在c语言标准中,加法与减法运算对于地址的操作和对于值的操作是不同的。

2015-10-07 20:50:28 12347

转载 程序员能力矩阵 Programmer Competency Matri

程序员能力矩阵

2015-10-01 14:35:56 456

转载 虚函数和纯虚函数的区别

虚函数和纯虚函数的区别

2015-09-29 14:29:33 328

转载 C++中一个类对象占用的内存空间大小

一个class对象需要占用的内存空间大小,最权威的结论是:非静态成员变量总合加上编译器为了CPU计算,作出的数据对齐处理加上为了支持虚函数,产生的额外负担

2015-09-27 17:43:13 3388

转载 堆栈溢出

定义: 堆栈溢出就是不顾堆栈中分配的局部数据块大小,向该数据块写入了过多的数据,导致数据越界,结果覆盖了老的堆栈数据。

2015-09-25 22:44:41 411

转载 指针和引用的区别

1.指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。(2)可以有const指针,但是没有const引用;(3)指针可以有多级,但是引用只能是一级(int **p;合法 而 int &&a是不合法的)(4)指针的值可以为空,但是引用的值不能为NULL,并且引用在定义的时候

2015-09-25 19:41:43 282

转载 死锁产生的原因及必要条件

产生死锁的原因主要是: (1) 因为系统资源不足。 (2) 进程运行推进的顺序不合适。 (3) 资源分配不当等。

2015-09-25 19:16:25 377

原创 派生类的构造函数及析构函数

派生类的构造函数以及析构函数的执行顺序

2015-09-25 19:03:40 338

转载 构造函数不能为虚函数,析构函数可为虚函数

构造函数不能为虚函数,析构函数应该设置为虚函数

2015-09-25 17:09:48 339

原创 vector容器支持的一些操作

vector容器的一些常用操作

2015-09-21 15:47:59 585

转载 僵尸进程和孤儿进程

介绍了僵尸进程和孤儿进程

2015-09-20 19:52:49 314

转载 单链表反转

单链表反转

2015-09-20 14:40:55 370

转载 字符串匹配算法之KMP算法

一个主字符串S,一个模式字符串T,要求在主字符串中匹配模式字符串,匹配成功则返回主字符串中和模式字符串匹配成功的第一个字符的位置,否则返回-1。

2015-09-16 17:37:19 417

原创 迭代器作为形式参数

迭代器作为形式参数的写法

2015-09-16 14:29:19 772

转载 内存池、进程池、线程池

由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。

2015-09-14 10:54:16 7884 1

转载 Linux用户态和内核态

简述了Linux用户态和内核态的区别

2015-09-14 09:48:54 423

转载 线程

线程与进程的区别在Linux里面,线程就是轻量级的进程,只不过进程里面的线程共享一部分资源,如地址空间、文件句柄、信号量等。线程的调度也按照进程的调度方式进行。

2015-09-09 10:50:20 311

原创 书单

书单

2015-09-03 16:37:37 479

原创

图的存储方法有四种方法,分别为数组表示法,邻接表,十字链表,邻接多重表。

2015-08-31 16:02:21 275

原创 树和二叉树

树是n个结点的有限集。二叉树是一种树形结构,它的特点是每个结点至多只有两棵子树,并且子树有左右之分,其次序不能任意颠倒。

2015-08-31 15:59:46 317

原创 线性表、栈和队列

简单介绍了线性表、栈和队列的实现

2015-08-30 22:12:09 564

原创 冒泡排序、归并排序、快速排序、堆排序

介绍了冒泡排序、归并排序、快速排序、堆排序的代码实现

2015-08-30 22:03:47 555

转载 各种排序算法

选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法;冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法:  这是最原始,也是众所周知的最慢的算法了。复杂度为O(n*n)。当数据为正序,将不会有交换,此时复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复杂度log2(n)*n,所有内部排序方法中最高好

2015-08-30 21:48:58 333

空空如也

空空如也

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

TA关注的人

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