摘要: 1.需求将不同电脑上的完成的代码提交到SVN服务器,达到代码同步的功能。这样实验室与宿舍里面就可以用同一份代码了,不必担心U盘拷贝的副作用了。2.在google code上建立一个项目请参考《Google Code 服务试用》一文,解决了在Windows下安装与提交问题3.在Debian下安装SVNsudo apt-get install subversion subversion-tools 由于只是使用SVN客户端,可以不安装apache4.SVN的使用简介svn checkout https://project-name.googlecode.com/svn/trunk/ local-d 阅读全文
posted @ 2011-04-12 14:06 westfly 阅读(1628) 评论(0) 推荐(1) 编辑
摘要: 0.前言前文已经叙述道,linux中链表的实现是节点与数据分离,如果要使用链表,只需在数据结构中包含链表的结构(非指针)即可。struct nf_sockopt_ops的定义为struct nf_sockopt_ops { struct list_head list; u_int8_t pf; …… int ( * set )( struct sock * sk, int optval, void __user * user, unsigned int len); …… int ( * compat_get)( struct sock * sk, int optval, void __user 阅读全文
posted @ 2011-04-08 15:43 westfly 阅读(1616) 评论(0) 推荐(0) 编辑
摘要: 网上关于list的源码分析很多,这里只是学习做比较。list的数据结构定义/* *双链表 */ struct list_head { struct list_head * next, ** prev; }; 或许我们比较习惯如下的形式struct list_head { struct list_head * next; struct list_head * prev; }; 前文已经说明,这与传统的经典定义有差异,只有链接指针,而无数据节点。这样做是为了带来数据定义的通用性。在C++中,使用模板技术来实现,而C中并没有相关的技术,那么如何访问到节点上的数据呢,成为面临的挑战之一。1.声明关于的 阅读全文
posted @ 2011-04-08 15:36 westfly 阅读(1460) 评论(0) 推荐(0) 编辑
摘要: 以下分析文字转载自《程序员面试题精选100题(36)-在字符串中删除特定的字符》题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。分析:这是一道微软面试题。在微软的常见面试题中,与字符串相关的题目占了很大的一部分,因为写程序操作字符串能很好的反映我们的编程基本功。要编程完成这道题要求的功能可能并不难。毕竟,这道题的基本思路就是在第一个字符串中拿到一个字符,在第二个字符串中查找一下,看它是不是在第二个字符串中。如果在的话,就从第一个字符串中删除。但如何能 阅读全文
posted @ 2011-04-08 15:13 westfly 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。分析:如果我们不考虑时间复杂度,最简单想法的莫过去先在数组中固定一个数字,再依次判断数组中剩下的n-1个数字与它的和是不是等于输入的数字。可惜这种思路需要的时间复杂度是O(n2)。但是上述策略并没有考虑到数组是有序的特性。此处是不是可以在有序的基础上作工作呢?思路如下:找到数组的第一个数字和最后一个数字。当两个数字的和大于输入的数 阅读全文
posted @ 2011-04-08 15:01 westfly 阅读(2820) 评论(0) 推荐(1) 编辑
摘要: 转载自《Linux中的工作队列》http://blog.chinaunix.net/space.php?uid=487105&do=blog&cuid=971040[前记]Linux自从2.6.20之后,工作队列发生了一些变化,目前从网络上搜索的资料一般都是介绍老版本的工作队列,很少见到对新版本的介绍。本文对新老版本都做了简要概述,并分别提供了简单的实作案例。*************************************************************************************************************** 阅读全文
posted @ 2011-04-08 09:47 westfly 阅读(359) 评论(0) 推荐(0) 编辑
摘要: Omnet++下载 OMNeT++ 4.1 win32 (source + IDE + MINGW, zip)安装教程下载安装前提1)安装了Java环境。2)解压的路径不能有空格。3)类似linux的方式进行安装 ./configure make4)测试参考教程 OMNeT++ 4.0 IDE(集成开发环境)教程 阅读全文
posted @ 2011-04-07 23:29 westfly 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 上篇分析了hashtable实现的相关接口与用法,本篇将深入到代码中,分析其代码原理。其源码有hash_function.h ——实现hash函数hash_table.h ——hashtable的实现list.h ——hashtable的开链法用到了链表test_hashtable.c ——测试结构定义用于链接节点的hash_entrystruct hash_entry { struct list_head list; unsigned char *key; unsigned int keylen;};用于全局结构的hash_tablestruct hash_table { struct ha 阅读全文
posted @ 2011-04-07 23:02 westfly 阅读(789) 评论(0) 推荐(0) 编辑
摘要: 阅读代码上瘾了么?又看到一份代码,觉得很符合自己的风格,就贴上来。/* implementation of a simple hash table * -- thread safe functions as *_safe() * -- resolve collisions by chaining * Direct comments, concerns, questions, bugs to: * kulesh [squiggly] isis.poly.edu */该实现考虑到了线程安排,与STL的hashtable思想一致,都是基于resolve collisions by chaining( 阅读全文
posted @ 2011-04-07 13:50 westfly 阅读(675) 评论(0) 推荐(0) 编辑
摘要: GCC编译出现警告test_hashtable.c:52: warning: pointer targets in passing argument 3 of ‘hash_table_insert’ differ in signednesstest_hashtable.c:61: warning: pointer targets in passing argument 2 of ‘hash_table_lookup_key’ differ in signednesstest_hashtable.c:77: warning: pointer targets in passing argument 阅读全文
posted @ 2011-04-07 11:26 westfly 阅读(5535) 评论(0) 推荐(1) 编辑