自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (6)
  • 收藏
  • 关注

转载 Shell脚本编程的常识

http://mprc.pku.edu.cn/mentors/training/TrainingCourses/material/ShellProgramming.HTMShell脚本编程的常识(这些往往是经常用到,但是各种网络上的材料都语焉不详的东西,个人认为比较有用)七种文件类型d            目录                           

2013-10-08 14:34:37 906

转载 中缀表达式转换为后缀表达式

一、后缀表达式求值后缀表达式也叫逆波兰表达式,其求值过程可以用到栈来辅助存储。假定待求值的后缀表达式为:6  5  2  3  + 8 * + 3  +  *,则其求值过程如下:1)遍历表达式,遇到的数字首先放入栈中,此时栈如下所示:2)接着读到“+”,则弹出3和2,执行3+2,计算结果等于5,并将5压入到栈中。3)读到8,将其直接放入栈中。

2013-07-18 21:31:24 654

转载 轻松搞定面试中的二叉树题目

版权所有,转载请注明出处,谢谢!http://blog.youkuaiyun.com/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树

2013-07-05 22:14:09 781

转载 正确地做事与做正确的事同样重要

正确地做事与做正确的事同样重要一位软件工程师的6年总结作者:成晓旭http://blog.youkuaiyun.com/cxxsoft(声明:欢迎转载,请保证文章的完整性)“又是一年毕业时”,看到一批批学子离开人生的象牙塔,走上各自的工作岗位;想想自己也曾经意气风发、踌躇满志,不觉感叹万千……本文是自己工作6年的经历沉淀或者经验提炼,希望对所有的软件工程师们有所帮助,早日实现自己的人生目标

2013-07-05 18:09:28 756

转载 三层以太网交换机CPU收发包问题的分析

在当前的三层以太网交换设备中,报文的二层交换和三层路由主要由交换芯片和网络处理器完成,CPU基本上不参与交换和路由过程,主要完成管理和控制交换芯片的功能[1]。在这种情况下,CPU的负载主要来自以下几个方面:协议的定时驱动、用户的配置驱动、外部事件的驱动。其中,外部事件的驱动最为随机,无法预料。典型的外部事件包括端口的连接/断开(Up/Down),媒体访问控制(MAC)地址消息的上

2013-06-27 10:18:05 2252

转载 可重入与线程安全

可重入与线程安全(整理自网上资料)线程安全函数:概念:  线程安全的概念比较直观。一般说来,一个函数被称为线程安全的,当且仅当被多个并发线程反复调用时, 它会一直产生正确的结果。确保线程安全:  要确保函数线程安全,主要需要考虑的是线程之间的共享变量。属于同一进程的不同线程会共享进程内存空 间中的全局区和堆,而私有的线程空间则主要包括栈和寄存器。因此,对于同一进程的不同线程来说

2013-06-16 18:11:12 601

原创 进程与线程

线程也被称作是轻量级进程(LWP),是调度和分派的基本单位,而进程是拥有资源的基本单位。子进程和父进程拥有不同的代码和数据空间,而同一进程创建出的多个线程共享代码和数据空间,只是有各自的堆栈和程序计数器。由于线程共享代码和数据空间,所以其切换、创建等所用到的开销要远远小于进程,并且因为同一进程的线程由于共享同一地址空间,同步和通信业变得更加容易。一个标准的线程由线程ID、当前指令指针(PC)、

2013-06-14 20:33:32 553

原创 几种简单排序算法

/*002:几种简单排序算法*/ 插入排序、冒泡排序、选择排序/*插入排序--InsertionSort,从第二个元素开始,在前面找合适的位置插入*/void InsertionSort(int a[], int len){    int i,j;    int temp;    for (i = 1; i     {        temp = a[i];

2013-05-31 15:37:30 580

原创 多个有序链表,找出数据均相同的结点

/*001: 多个有序链表,找出数据均相同的结点*/list_type * list_array[5];int curr_value;int curr_list;int i;bool end = false;list_array[0] = list0->head;list_array[1] = list1->head;list_array[2] = li

2013-05-29 20:04:08 821

原创 编程小技巧

代码中常用的宏:#define MIN(a, b)(((a)#define MAX(a, b)(((a)>(b))?(a):(b))#define     ROUNDUP(x,y)                  ((((ulong)(x)+((y)-1))/(y))*(y))#define     ISALIGNED(a,x)                 (((ui

2013-05-29 16:26:22 800

转载 位域的使用

有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个类型单元中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以达到压缩数据的目的。位域定义

2013-05-29 14:10:23 950

转载 位域与大小端

C中的位域与大小端问题(整理自网上资料)字节内也是有大小端问题,与字节中的大小端类似:1)little endian中的位应该这样排列: 01234567 即排在前面的是低位。因此,先分配least significant bits 2)而在Big endian中,位应该这样排列: 76543210 即排在前面的是高位。因此,先分配most significan

2013-05-29 10:48:31 18629 6

原创 地址空间

最近搞驱动开发,接触到了地址空间这个概念。这个题目比较大,慢慢整理。CPU地址空间I/O地址空间I/O作为CPU和外设交流的一个渠道,主要分为两种,一种是Port I/O,一种是MMIO(Memory mapping I/O)。前者就是我们常说的I/O端口,它实际上的应该被称为I/O地址空间。对于x86架构来说,通过IN/OUT指令访问。PC架构一共有6

2013-03-19 10:37:56 729

原创 DMA与 kmallloc

DMA控制器是一个硬件设备,只能访问特殊的物理地址。在mips架构下,分配出的逻辑地址需要转换成其对应的物理地址,然后才能交给DMA控制器来使用。最近在GMAC DMA驱动层的实现中发现DMA的内存分配需要调用kmalloc函数而不是最常用的malloc函数来进行。在网上查到的资料如下:在设备驱动程序或者内核模块中动态开辟内存,不是用malloc,而是kmall

2013-03-19 09:48:49 1369

原创 也谈大小端

大小端问题是一个很简单的概念,但在实际使用中却是一个所必须考虑的非常重要的细节。虽然简单却也曾经困扰过我很多次,今天正好有空整理出来做个笔记。    字节序的大小端通常指的是在一个字内(32位或者64位)各字节在内存中的存放顺序。注意这里仅是一个字内Byte的顺序,各个字之间的顺序不受大小端的影响。另外还要注意想一个int数据进行左右移位是跟大小端没关系的,因为编译器已经屏蔽了这层差异,不

2013-03-17 15:50:53 789

转载 linux seqlock & rcu 浅析

在linux内核中,有很多同步机制。比较经典的有spin_lock(忙等待的锁)、mutex(互斥锁)、semaphore(信号量)、等。并且它们几乎都有对应的rw_XXX(读写锁),以便在能够区分读与写的情况下,让读操作相互不互斥(读写、写写依然互斥)。而seqlock和rcu应该可以不算在经典之列,它们是两种比较有意思的同步机制。seqlock(顺序锁)用于能够区分读与写的

2013-03-06 15:49:23 576

转载 进程上下文和中断上下文

整理自网上资料上下文的概念       上下文context:上下文简单说来就是一个环境,相对于进程而言,就是进程执行时的环境。具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。       一个进程的上下文可以分为三个部分:用户级上下文、寄存器上下文以及系统级上下文。       用户级上下文: 正文、数据、用户堆栈以及共享存储区;

2013-03-04 19:19:13 491

原创 无符号数溢出与回绕的正确判断

在系统的计时计数过程中,大多采用无符号数来表示。一个无符号数总有一个最大表示范围,比如unsigned int 的最大表示数为2的32次方-1 4294967295,此时如果继续增加则回绕(wrap around)为0.此时就涉及到一个正确比较的问题,下面以linux中的节拍记录变量jiffies为例说明这个问题,jiffies记录开机以来发生的节拍数,每次时钟中断程序都会增加这个值(每秒增加的值

2013-03-04 14:45:34 6055

原创 块I/O调度程序

最近在看《linux内核设计与实现》这本书,写些东西记录一下学习过程。块设备最突出的特点是可以随机访问固定大小的数据片,这些固定大小的数据片称为块,块设备通过安装文件系统来访问。注意块设备都有自己的物理最小寻址单元(如扇区),但是在文件系统下,其有着最小逻辑可寻址单元——块,不要搞混淆了。与块设备相对的是字符设备,字符设备按字符流来有序访问,如串口和键盘。像硬盘这样块设备,其寻

2013-02-27 22:06:24 626

转载 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路(转)

http://www.cnblogs.com/figure9/archive/2013/01/09/2853649.html

2013-02-26 18:01:10 536

转载 以太网交换机芯片

转自 http://winkuo.blog.163.com/ 网络织工当今的世界是一个通信技术高速发展,以太网交换机也正从神秘的机房走进千家万户。事实上很多家庭用的所谓路由器就是一个具有路由功能的L3层交换机。具体交换机的概念可以看我上一篇博客。      1、网络交换机芯片的架构形式由于网络交换功能是在以太网的第二层(MAC)实现,所以在早期以太网交换芯片中只包含MAC层,要想真正接

2013-02-18 21:00:04 1980

原创 '\0'的ASCII是0

今天帮同事调程序,进行一串码流的移位操作,循环体没执行一定的个数就跳出了。调了半天,后来发现是循环条件有问题。该老兄用的是字符串的结尾判断,“ '\0' != * p" 导致遇0结束。告知后,该兄竟不知' \0'的ASCII是0!!!!

2013-02-18 17:22:37 5386

转载 semaphore与Mutex

semaphore与Mutex(转)C# Semaphore Classhttp://msdn.microsoft.com/en-us/library/system.threading.semaphore.aspxwikiSemaphore (programming)http://en.wikipedia.org/wiki/Semaphore_%28programming%

2013-01-28 11:26:41 757

转载 BROADCOM sdk

目前正在参与一个工业以太网交换机的开发工作,用到了broadcom交换芯片的SDK。完全没个概念啊下面先收集一些网上搜到的资料,等开发完成后回来整理。Broadcom以太网交换芯片培训http://blog.youkuaiyun.com/xkarl/article/details/6546250千兆以太网交换机http://www.go-gddq.com/html/

2013-01-09 16:02:18 3979

转载 可重入函数和线程安全(转)

最近,项目要求可能需要做博通的交换芯片的驱动程序,涉及到多用户同时进行操作,和大量的数据处理,因此在进行代码架构的时候需要进行前期简单的验证设计。考虑到一点就是程序设计的可重入性。经过简单的搜索,在维基百科和其他朋友的帖子里找到了相关概念。为了帮助自己今后理解,特地将此概念加上自己的理解整理在此。维基百科和百度百科介绍的侧重点不同,个人理解可重入函数的使用场景应该是中断场景和SMP场景。明

2013-01-09 15:42:39 622

转载 C结构体中赋值使用的冒号和点号

今天在看broadcom交换芯片SDK的时候,偶然发现,结构体的赋值竟然是用了冒号!一番搜索之后,原来是这个样子。原文地址:http://blog.youkuaiyun.com/unbutun/article/details/4648307结构体:struct usb_driver { const char *name; int (*probe) (struct usb

2013-01-05 19:38:40 3315

转载 GCC的编译流程

mark一下,稍后整理。

2012-12-11 19:32:36 420

转载 C语言中的宏定义 #define

整理自网上资料宏展开的时机:C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念):其中预处理器产生编译器的输入,它实现以下的功能: (1)    文件包含 可以把源程序中的#include 扩展为文件正文,即把包含的.h文件找到并展开到#include 所在处。 (2)    条件编译 预处理器根据#if和#i

2012-11-10 16:55:49 1084

转载 系统栈原理

http://zhongcong386.blog.163.com/blog/static/134727804201110774335161/?suggestedreading&wumii

2012-11-07 21:03:52 408

转载 C语言头文件

整理于网上资料 http://blog.youkuaiyun.com/janders/article/details/611081 和 http://www.cnblogs.com/polestar/archive/2012/02/24/2366724.html头文件的理论概述:.h中一般放的是同名.c文件中定义的变量、数组、函数的声明,需要让.c外部使用的声明。1)h文件

2012-11-03 20:48:15 739

转载 C中变量的存储类型及作用域

C语言变量的存储类别收集网上资料整理   内存中供用户使用的存储空间分为代码区与数据区两个部分。变量存储在数据区,数据区又可分为静态存储区与动态存储区。    静态存储是指在程序运行期间给变量分配固定存储空间的方式。如全局变量存放在静态存储区中,程序运行时分配空间,程序运行完释放。    动态存储是指在程序运行时根据实际需要动态分配存储空间的方式。如形式参数存放

2012-11-03 20:43:26 644

转载 C程序中的内存结构

一个由C/C++编译的程序占用的内存分为以下几个部分摘取自网上资料1、栈区(stack)  由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)  一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局/静态存储区

2012-11-03 19:36:25 432

转载 C指针的用法小结

在人人网上看到了一篇C指针的总结,讲一些基本概念,写的不错,原地址:http://blog.renren.com/blog/226041764/873143492char *p, **p, ***p;char p[],p[][],p[][][];char *p[],*p[][],**p[],**p[][],*(*p)[],(**p)[],(**p)[][];

2012-11-03 16:21:59 394

转载 回调函数与简单的例子

摘自:1、 http://blog.sina.com.cn/s/blog_5061633601009lmb.html            2、 http://blog.youkuaiyun.com/p_w_m/article/details/7184332回调函数:         回调函数是用户由用户实现的、注册到低层API当中的、当满足一定条件时会触发该回调函数按照用户的意图运行

2012-11-03 16:07:31 481

acm 课件 杭电内部资料 ppt

acm 课件 杭电内部 培训资料 ppt 内容广泛

2010-04-29

计算机图形学实验 西工大 林曾刚 CG

直线生成算法 圆(椭圆)的生成算法、区域填充算法 裁剪算法、曲线、曲面生成算法

2010-04-29

石子合并 算法 西工大 实验 王岐

石子合并 算法 西工大 实验 王岐 西工大上机实验

2010-04-29

最长公共子序列 算法 实验 西工大

最长公共子序列 算法 实验 西工大 西北工业大学的算法上机实验 一个给定序列的子序列是在该序列中删去若干元素后得到的序列……

2010-04-29

ACM 资料 课件 源代码

ACM 资料 课件 源代码 算法 包括了美国和国内的acm比赛题目及所有源代码。还有很多课件 是我参加acm时老师给的

2010-04-29

稀疏矩阵运算器 进行出错数据处理

数据结构课我做的实验(西工大),希望大家喜欢~~~~~~~~~~vc编译

2008-11-20

空空如也

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

TA关注的人

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