自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python核心编程

文档字符串:应该多用,help()的作用就是把builtin的函数的文档字符穿

2014-08-08 22:04:14 426

原创 内核起步:进程调度

linux 提供了抢占式的多任务模式,

2014-08-07 22:36:31 386

原创 内核起步:进程管理

进程:什么是进程:一个处于执行期的程序,它不仅局限于一段可执行程序代码,它还应包括其他资源。在linux系统中线程和进程并不特别区分,线程只不过是特殊的的进程。从linux内核角度而言,它并没有线程的概念,它把所有的线程都当作进程来实现都是使用task_struct,我们说的进程和线程是从我们自己的角度来看待这个问题的。这与windows和 Solaris是不一样的。他们是通过一个包含指向四个

2014-08-06 22:16:45 409

内核起步:进程管理

进程:什么是进程:一个处于执行期的程序?它haibao

2014-08-06 20:26:21 67

原创 内核起步:注意事项

if(likely(xxxx)){} unlikely(xxxx)

2014-08-03 15:29:16 375

原创 最大子数组的问题

题目不说了 ,下面直接写相关代码:暴力解法n2版本,不必多说,代码直接走起O(N2)这里为了简便就只返回subarray maxsum的值 如果还要有数组下标 自行改动即可:int maxsubary(int *s,int n){int maxsum = 0 ;int sum = 0 ;int i ;int j;for(i=0; isum  = 0;for(

2014-04-17 21:31:49 453

原创 自我扩展—如何判断一个指定的节点是否是在带环链表的环内还是环外!

按照常规来思考—— 一步一步走能不能遇到自己,遇到自己在环内;遇不到在环外。可是如果在环外的按照前面的思想,难免就进入了死循环 。所以我们不妨换一个思路 :我们就从这个节点开始指定2个指针 :一个走2步 一个 走 一步;2步的每走一次都判断一次 它自己以及它的下一个节点是否和指定节点相同 如果和第一步指针相遇之前就和指定节点相同了必然是在环内 ; 如果是在环外通过和一步指针相遇来结束循

2014-03-16 21:49:05 444

转载 free函数——内存释放

既然有分配,那就必须有释放。不然的话,有限的内存总会用光,而没有释放的内存却在空闲。与 malloc 对应的就是 free 函数了。free 函数只有一个参数,就是所要释放的内存块的首地址。比如上例:free(p);free 函数看上去挺狠的,但它到底作了什么呢?其实它就做了一件事:斩断指针变量与这块内存的关系。比如上面的例子,我们可以说 malloc 函数分配的内存块是属于 p 的,

2014-03-15 21:43:07 1175

原创 网络字节序和主机字节序

大家都知道的!!!大端小端字节序转换我们一般使用固有的htonl或htons等宏和移位进行解决:今天无意百度了下其他方法,发现了一个特别有意思的解决方法:int bigtolittle(int a){        union{                int i;                char c[4];        }u,r;       

2014-03-05 15:42:21 386

原创 查找一个字符串中最大长度的重复子串,例如abcdab 中ab为最大重复字串 长度为2

大体思路就是使用3个指针q temp str, temp用来保存当前查找的开始位置;q始终指向temp的下一个位置,为了在将目前最大重复子串保存到data数组时候不丢失本次开始查找的位置所以使用str指针用来保存目前查找到的max子串的起始位置在调试过程中发现一个bug;段错误 ;原因是在初始化data时候想都没想就把data数组写成 char *data = p ;这样子就把data指向到了

2014-03-04 17:31:03 604

转载 assert函数使用

assert()函数用法总结assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression );  assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程

2014-02-03 09:50:56 358

转载 位段使用说明

1)位段成员的类型必须指定为unsigned或int类型。(2) 若某一位段要从另一个字开始存放,可用以下形式定义:unsigned a:1;unsigned b:2;一个存储单元unsigned:0;unsigned c:3;另一存储单元a、b、c应连续存放在一个存储单元中,由于用了长度为0的位段,其作用是使下一个位段从下一个存储单元开始存放。因此,只将a、b存储在一个存

2014-02-02 23:35:51 512

转载 void * 在gcc中被看做char *处理,即void *p; p++;实际加1,而不是加整形的4或者long型的8)

void的含义    void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型。void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。例如:    int *pint;    void *pvoid;    pvoid = pint;   /* 不过不能 pint = pvoid; */    如果要将

2014-02-02 18:54:11 976

转载 关于Segmentation fault (core dumped)几个简单问题的整理

有的程序可以通过编译,但在运行时会出现Segment fault(段错误)。这通常都是指针错误引起的。但这不像编译错误一样会提示到文件一行,而是没有任何信息。一种办法是用gdb的step, 一步一步寻找。但要step一个上万行的代码让人难以想象。 我们还有更好的办法,这就是core file。如果想让系统在信号中断造成的错误时产生core文件, 我们需要在shell中按如下设置: #设置c

2014-02-01 12:05:07 590

空空如也

空空如也

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

TA关注的人

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