自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 四则运算-逆波兰表达式

中缀表达式转后缀表达式:1)遇到数字则输出。2)遇符号入栈,如果此时栈顶运算符优先级高于当前运算符,则将栈顶出栈直至栈顶元素不满足上述条件。如果是右括号,则连续出栈至左括号。3)最后将所有符号出栈。如:中缀表达式:3 * 7 * 9 + 8 * 3 - (2 + 6) / 8.后缀表达式:3 7 9 * * 8 3 * 2 6 + 8 / - +计算机如

2015-09-10 15:12:31 572

原创 斐波那器数列

兔子总数问题:1对免子,两个月后就能繁殖,求第n个月的兔子总数。由兔子问题能引出FBI数列。0,1,1,2,3,5,8,13,21,34……写成公式:#include #include int fbi(int n){ if(n < 2) return n; return fbi(n-1) + fbi(n-2);}void main(){ int nu

2015-09-10 12:09:05 662

原创 关于算法的知识要点笔记

算法的特性:1)输入、输出。可以有0个输入,但至少有一个输出。2)确实性。相同的输入,输出不会出现二义性。3)有穷性。算法不会出现无限循环的,总有个时间能执行完。4)可行性。这个不怎么好理解,粗略地认为每一步都必须是可行的。算法的时间复杂度和空间复杂度一般用大O记法,推导大O阶记法的几个要领:1)用常数1取代运行时间中所有的加法常数。2)在修改后的运

2015-09-09 20:23:53 439

原创 ANSI C简介

经常看到ANSI C和ISO C,不明所以,今天特意查了一下。ANSI-America National Standards Institute 美国国家标准协会。由公司、政府和其他成员组成的自愿组织。它们协商与标准有关的活动,审议美国国家标准,并努力提高美国在国际标准化组织中的地位。此外,ANSI使有关通信和网络方面的国际标准和美国标准得到发展。ANSI是IEC和ISO的成员之一。

2015-07-29 10:57:53 950

原创 变量声明和定义的关系

声明:如果想使用别处定义的名字则必须包含对那个名字的声明。不分配内存。定义:负责创建与名字关联的实体。分配内存。声明不能赋值,定义可以赋初值。定义只能一次,声明可以多次。

2015-07-27 17:23:48 311

原创 通过宏定义取结构本中成员的偏移量

#define find(struc,e) (size_t) &((struct struc*)0)->estruct struc{};(struct strc*)将strc为一个结构体指针,指向地址为0的位置,取结构体成员变量的地址,然后将其强制转换成int型。因为起始地址为0,所以成员成变的地址就是它的偏移量。

2015-07-09 09:12:52 471

原创 通过位运算交换a 和 b

不添加其它变量实现a 和 b的交换a = a^b;   b = a^b;a = a^b;a^b^b = a;a^b^a = b;这样交换a,b的特点是:不用借助第三个变量,且当a,b比较大时,不会溢出。

2015-07-07 09:15:46 678

原创 (a+b)/2的位运算

a&b +( (a^b)>>1)a&b 即取了a和b相同的位数据a^b 即取了a和b不同的位数据之和>>1等价于除以2举个的例子a = 10, b = 6.a 1010b 0110取相同的位为 0010,十进制为2a-2 = 8b-2 = 4a^b = 1100  十进制为12 = a^b

2015-07-06 17:39:43 899

原创 二进制数1的个数逐次减1

x = x & (x-1)x的二进制,1的个数减了1

2015-07-03 23:01:14 471

转载 帧聚合

源自:http://www.cnblogs.com/aixin0813/p/3195664.html3.1  帧聚合帧聚合技术包含针对MSDU的聚合(A-MSDU)和针对MPDU的聚合(A-MPDU):3.1.1      A-MSDUA-MSDU技术是指把多个MSDU通过一定的方式聚合成一个较大的载荷。这里的MSDU可以认为是Ethernet报文。通常,当AP或无线客户端从协

2015-06-24 10:29:42 6514

转载 解决Ubuntu系统中文乱码显示问题

我是先安装了Ubuntu 12.04 Server,然后安装桌面。进入以后发现中文有问题。解决方法:一. Ubuntu默认的中文字符编码Ubuntu默认的中文字符编码为zh_CN.UTF-8,这个可以在/etc/environment中看到:sudo gedit /etc/environment可以看到如下内容:PATH="/usr/local/sbin:/usr/lo

2015-05-30 16:55:12 411

原创 X86平台属于小端序,ARM平台属于大端序

如题

2015-05-26 18:07:45 6443 1

转载 vi 常用命令行

vi 常用命令行1.vi 模式   a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了.   b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作。等按下‘i,I,o,O,a,A,r,R’等          字母之后才能进入编辑模式.通常在linux中,按下上述字母时,左下方会出现'INSERT'或者‘REPLACE’字样,才可以   

2015-05-25 16:42:26 339

转载 Ubuntu Server版安装Gnome图形桌面

转至:http://www.cnblogs.com/sbaicl/archive/2013/01/09/2853174.html  由于公司的服务器在安装Ubuntu12.10时候,默认是没有桌面,但由于某些原因,某些部门要用到桌面模式! 一、配置好Source源列表  详情可以参考:http://www.cnblogs.com/sbaicl/archive/2013/01/0

2015-05-25 14:57:04 698

原创 virtualbox挂载时出现 mount: unknown filesystem type 'vboxsf' 的解决办法

apt-get install virtualbox-ose-guest-utilsmount -t vboxsf sharedirect_name /mnt_direct_name

2015-05-25 10:08:23 12617

原创 scanf函数与华为机试题

要求输入多组数据时,用到while(scanf()),由于scanf成功时返回1,ctrl+c时返回-1所以些时,该这样用,while(scanf() != EOF){}。华为机试有的时候不能用string.h中的调用函数,否则答案错误。定义的数据尽量初始化。

2015-05-14 08:49:24 389

原创 给Ubuntu 12.04 (Precise)安装传统的Gnome桌面

打开终端,运行下面两行命令中的任意一个,作用是一样的。sudo apt-get install gnome-session-fallback或者sudo apt-get install gnome-panel安装完毕后,请注销当前会话。在“欢迎界面”登录的时候,点击选项并选用Gnome Classic 作为所使用的桌面环境。

2015-05-11 15:43:36 351

原创 printk

查看printk 等级设置:cat /proc/sys/kernel/printk设置等级:echo "1 4 1 7" > /proc/sys/kernel/printk 分别对应: 控制台日志级别,默认的消息日志级别,最低控制台日志级别,默认的控制台日志级别

2015-04-22 15:08:08 287

原创 DMA类型介绍

DMA通常包括system dma和bus-master dma。他们的区别在于system dma是依赖于系统,device本身并没有dma控制传输的能力,而bus-master则相反,device有dma控制传输的能力。通常比较多见的是bus-master dma方式。总线主控式DMA(bus-master)       大多数DMA方式均为总线主控式DMA,包括ARM和P

2015-01-22 09:25:53 2217

转载 Block Ack 基本原理

转至:转载地方未写源头地址固空。    802.11n最主要的添加了Block Ack这个技术,但是在实际应用中对于BA还是知之甚少,转贴一个讲述BA基本原理的文章,但是我通过wireshark进行抓报并没有在BAR(Block Ack Requst)里面找到文中所说的相关信息,但是找到了一个CACE Technlologies 发布的一个用wireshark进行分析11n的文章,其内

2015-01-21 11:58:08 654

原创 INCR与DECR分析

/* increment with wrap-around */#define INCR(_l, _sz) do { \ (_l)++; \ (_l) &= ((_sz) - 1); \ } while (0)/* decrement with wrap-around */#define DECR(_l, _sz) do { \ (_l)--;

2015-01-20 09:38:09 882

转载 DMA描述符及映射 .

转载地址:http://blog.csdn.net/phunxm/article/details/94525751.DMA通道DMA(Direct Memory Access)通道建立在设备和RAM之间,DMAC(DMA Controler)与设备I/O控制器相互作用共同实现数据传送。在PC中,DMA控制器位于主板上负责管理I/O总线的南桥上。典型的PC架构的数据通道示意图如下

2015-01-11 16:11:35 762

原创 常用专有名词缩写,持续更新

NIC------网络接口卡,即网卡NAPI----新API

2015-01-11 15:33:06 876

原创 netif_stop_subqueue函数分析

/*** netif_stop_subqueue - stop sending packets on subqueue* @dev: network device* @queue_index: sub queue index** Stop individual transmit queue of a device with multiple transmit

2015-01-09 09:52:08 1219

原创 中断处理函数中自旋锁的应用

中断处理函数中,在获取锁之前,必须先禁止本地中断。否则,持有锁的内核代码会被中断处理程序打断,接着试图去争用这个已经被持有的自旋锁。这样的结果是,中断处理函数自旋,等待该锁重新可用,但是锁的持有者在该中断处理程序执行完毕之前不可能运行,这就成为了双重请求死锁。注意,需要关闭的只是当前处理器上的中断。因为中断发生在不同的处理器上,即使中断处理程序在同一锁上自旋,也不会妨碍锁的持有者(在不同处理器上)

2015-01-08 16:41:03 4308 2

原创 内核同步基础知识

1、临界区(亦称临界段):访问和操作共享数据的代码段。2、竞争条件(race conditions):多个执行线程处于同一个临界区中同时执行,并发访问同一个资源。3、同步(synchronization):避免并发和防止竞争条件。4、伪并发执行:一个程序处于临界区,被调度程序抢占和重新调度;新调度的随后也进入同一临界区(如 两个进程要操作共享的内存,或者向同一个文件描述符写入)

2015-01-08 15:17:53 384

原创 ieee80211_tx_pending分析

struct ieee80211_local *local = (struct ieee80211_local *)data; struct ieee80211_sub_if_data *sdata; unsigned long flags; int i; bool txok; rcu_read_lock(); spin_lock_irqsave(&local->queue_sto

2015-01-07 11:25:21 924

原创 netif_wake_subqueue函数分析

/** * netif_wake_subqueue - allow sending packets on subqueue * @dev: network device * @queue_index: sub queue index * * Resume individual transmit queue of a device with multiple

2015-01-06 10:45:10 1073

原创 list_for_each_entry详解

先上相关代码:/** * list_for_each_entry_rcu - iterate over rcu list of given type * @pos: the type * to use as a loop cursor. * @head: the head for your list. * @member: the name of the list_struct withi

2015-01-05 17:26:20 3015

转载 OpenWrt安装tcpdump抓包

文章摘自:http://demon.tw/hardware/openwrt-tcpdump.htmltcpdump是一个运行在命令行下的嗅探工具,它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。OpenWrt + tcpdump = 抓包神器。安装过程很简单:opkg updateopkg install tcpdump开始抓

2014-12-24 17:30:35 13232 1

转载 802.11学习笔记

转至:http://blog.sina.com.cn/s/blog_4c02ba150101pb9x.html一、概论1.1.简介IEEE802家族是由一系列局域网络(Local AreaNetwork,LAN)技术规格所组成,802.11属于其中一员。载波检测多重访问/碰撞检测(Carrier Sense Multiple Accessnetwork with C

2014-12-17 09:49:01 2175

转载 WoW - Wake on Wireless

WoW - Wake on WirelessWake on Wireless is a feature which allows a WLAN-enabled client system to enter a low-power system state (S1-S4) while still maintaining WLAN association with its current

2014-12-01 17:28:16 803

转载 openwrt学习总结

不错的学习总结:http://download.csdn.net/detail/suiyuan19840208/7441867

2014-11-22 21:15:54 651

转载 linux驱动工程面试必问知识点

源自:http://blog.csdn.net/suiyuan19840208/article/details/20392151

2014-11-22 20:58:16 828

转载 回调函数

回调函数 在看LWIP时,见到用回调函数,再看某老外公司OPC源代码时,见到用回调函数。看我国内某些代码(我公司软件等)时没用到。于是,我对回调函数产生了很大的好奇。以前,我写VC程序时用到过回调函数,但是没有用C语言来使用。最近,看到国外大量的经典代码中广泛使用了回调函数(LWIP、某两个公司的OPC程序等),都是C语言来实现的,而不是VC windows程序中别人实现自己使用的那种。

2014-11-22 20:32:44 370

转载 802.11 帧格式及类型

转自:1:帧格式下面是802.11帧的组成结构,帧总寻此结构.从上面的结构可以知道,前俩个字节为:帧控制字段。控制字段的前2bit节为:协议类型,目前此值为:0。1)控制帧:用于竞争期间的握手通信和正向确认、结束非竞争期等; 2)管理帧:主要用于STA与AP之间协商、关系的控制,如关联、认证、同步等; 3)数据帧:用于在竞争期和非竞争期传输数据。type

2014-11-22 16:55:12 630

转载 WLAN基础知识

源自:一:用户接入过程在station和AP建立连接之前,需要一系列的数据交换过程。station和AP之间的发现可以通过主动和被动的方式来发现对方。,在通过认证和关联两个过程后才能和AP 建立连接。上面的通信过程可以分解为3个过程,1:WLAN服务的发现,其中分为主动和被动WLAN服务发现。主动指的是:station主动的发送 Probe Request(Probe

2014-11-22 16:30:27 529

空空如也

空空如也

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

TA关注的人

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