自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

转载 C++构造函数调用顺序

if(子类没有自定义构造函数){         if(基类没有自定义构造函数)        {              用子类定义对象时,先自动调用基类的默认构造函数,再调子类的默认构造函数。         }         else if(基类有自定义无参构造函数)           {              用子类

2013-12-01 22:44:38 569

转载 非递归遍历二叉树

在网上看了一些用非递归实现先序中序后序遍历二叉树的代码,都很混乱,while、if各种组合嵌套使用,逻辑十分不清晰,把我也搞懵了。想了大半天,写了大半天,突然开了窍,实际上二叉树的这三种遍历在逻辑上是十分清晰的,所以才可以用递归实现的那么简洁。既然逻辑如此清晰,那么用非递归实现也应该是清晰的。自认为自己的代码比网上搜到的那些都清晰得多,好理解得多。稍微解释一下:先序遍历。将根节点入

2012-10-04 21:39:38 686

原创 优先级和结合性

先看优先级,当运算符优先级相同时再看结合性。结合性是指:运算对象先于哪个运算符结合在一起运算。优先级规律:前提是单目运算符优先级最高,接下来的规律是算术运算符>移位>关系>逻辑>赋值>条件(算一关,挪夫条)。

2012-02-27 22:18:39 744

原创 strcpy,strncpy;strcat,strncat;memcpy,memncpy;

strcat(str1,str2):1)str1必须足够大;2)str1原来的'\0'被取消,只保留str2的'\0',也就是str2从str1的'\0'位置开始占用;  哎,懒得写了,直接上源码了,我想说的再多,不如真真切切的看到其实现方式实在... ...呵呵.. ...//linux2.6.10中源码char * strcpy(char * dest,const char *sr

2012-02-27 22:15:36 6473

转载 进程上下文、中断上下文、内核代表进程执行、内核空间、用户空间释疑

《LKD2》P21对于进程上下文的解释是:当程序执行系统调用或触发了某个异常,陷入内核空间。此时我们称“内核代表进程执行”并处于进程上下文。       对于此段我的理解是进程的程序代码只能运行于用户空间,只有当执行了系统调用时才会在内核空间执行。程序执行到一半的时候由于并没有结束,会产生一些资源使用情况,中间数据等,这些需要一并传递到内核空间。所以要暂存为一个进程上下文到某个地方,程序代码在

2012-02-20 19:50:03 1280

原创 首长生日之大宴群臣

这周六,首长于犀浦韩家港摆下两桌阔宴,宴会上群贤皆至,同时有幸认识很多朋友。宴会前夕,首长发自心扉的感言让人振聋发聩,于心戚戚。第一次参加这么隆重的生日宴会,第一次参加这么正式的生日宴会,首长30岁生日感言让我想到很多,我小时候的经历和他有些地方颇多相似,我听得格外真切,想到几年后自己也行将30,结合自己目前境遇感觉实在尴尬。古人说30而立,我想那个“立”应该就是立业了,古人的逻辑是成家立业,想到

2011-11-20 23:19:32 689 1

原创 关于浮云

很久之前就听说过“浮云”了,神马都是浮云,就是这个浮云,我今天一不小心找到此词的出处了,原来早在两千多年前的孔夫子就说过了,摘录如下:  “饭疏食,饮水,曲肱而枕之,乐亦在其中矣。不义而富且贵,於我如浮云。”   可见孔先生的思想影响果然深远,横亘两千多年... ...

2011-11-13 10:42:24 312

原创 纪念千年一遇的神圣时刻

现在这么晚了才想起来记录一下昨天的事情,昨个61神棍节,约友二三人,骑游了一番... 闲聊了一番... 还见识了一番,这个见识还有点夸张... 感觉好久没有出去逛过啦... ...呼呼(~ o ~)~zZ

2011-11-13 01:09:28 646

转载 关于new和operator new()

new和operator new的参数之间有一个对应关系,operator new()可以不止一个参数。但是operator new()的第一个参数一定是size_t size,对应关系如下 new (x1,x2,...,xn) A( z1,z2,...,zn)  operator new(size_t  y,x1,x2,...,xn).总是将对象A所占内存大小传递给operato

2011-10-19 20:43:42 607

转载 x&(x-1)含义

求下面函数的返回值(微软) -- 统计1的个数-------------------------------------int func(int x){    int countx = 0;    while(x)    {        countx

2011-09-12 18:34:53 1668

原创 复制构造函数&&赋值函数(何时调用,什么时候调用)

平时看C++,对复制构造函数,赋值函数的概念是知道的,但一直不太清楚在调用函数(函数形参是类)、从函数返回一个类对象以及赋值时,这些函数的调用关系具体是怎么样的。今天就来个了断。主要针对复制构造函数及赋值函数,至于普通构造函数及析构函数是简单的。测试1:测试代码如

2011-09-12 17:36:56 1661

转载 C语言中函数参数的入栈顺序

C语言中函数参数的入栈顺序分类: linux编程 2011-03-08 10:06 79人阅读 评论(0)收藏 举报 对技术执着的人,比如说我,往往对一些问题,不仅想做到“知其然”,还想做到“知其所以然”。C语言可谓博大精深,即使我已经有多年的开发

2011-08-22 16:13:00 522

原创 套接字的内核实现原理以及对数据的处理流程简述

套接字的内核实现以及对数据的处理流程简述   总的的来说,对内核协议栈的学习和研究,应将重点放在层间接口上,也就是数据是怎么在层间传递的,这其中又可分为两大部分,第一部分是:链路层网络层;其他层间的传递(eg:IP-->TCP,TCP->IP);其中每部分又分为收发两部分。第一部分的发送和接收都是通过软中断来实现,尤其注意网络层的接收函数是注册在链路层的链表中的,通过dev_add_pac

2011-06-09 21:09:00 1920

转载 iperf使用

iperf 版本建议采用linux版本,事实上,windows版也很好用。带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽作为数据发送速率进行测试,例如,从客户端到服务器之间的链路的理论带宽为100Mbps,先用 -b 100M进行测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽。1、UDP 模式服务器端iperf -u -s客户端ipe

2011-06-02 19:49:00 1248

转载 linux设备驱动程序之接收发送队列

linux协议栈之接收发送队列网卡驱动把数据从设备拷贝到内存后会通过 netif_rx 把数据提交给上层,而上层通过 dev_queue_xmit 发送数据,如果符合条件,调用驱动的 hard_start_xmit 把数据发送出去。本文主要描述这两个流程的细节,其中流量控制,虚拟设备的绑定,网桥都在这一层有所涉及,但不予讨论,并且基本不涉及 NAPI。1,核心数据结构struct softnet_data{    int             throttle;    int             cn

2011-05-30 15:54:00 1868

linux设备驱动程序内核机制

很好的linux驱动程序内核机制书籍,很适合初学者,既讲了实例,又讲了原理,深入浅出。

2013-07-21

高级linux程序设计

很好的linux程序设计书籍,很适合初学者,既讲了实例,又讲了原理,深入浅出。

2013-07-21

空空如也

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

TA关注的人

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