文章列表
 
2009-02-25 9:46
调到gougou后, 无论是编程能力和团队合作能力都有了很大的提高。 昨天跟leader聊了很久, 感想颇多。
好的开发工具,编辑器,系统命令可以帮助程序员快速的调试程序bug. 常用的命令如awk,sed,grep,find这些都要熟悉它的用法, 灵活运用, 都会给工作和学习带来很大的方便。
 
2009-02-19 11:20
应用内核双向链表可以方便的建立堆栈和队列, list_add()用来建立堆栈, list_add_tail()用来建立队列。
下面是一个中缀表达式求值的代码, 就用到了堆栈。

/* code by wzt */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#include "list.h"

#define CALCA_NUM        9

typedef struct calca_struct {
    char data;
 
 
2009-02-16 9:27
最近CU正在举办编程大赛, 里面有道题目正好可以用前几天封装的链表库来完成。

题目:

3.从标准输入中读入N(1<N<10000)行以换行符结束且长度不超过2048的字符串,并在输入结束后输出其中最长10行的输入序号、长度和内容。当有多行长度相等的最长行时,输出最先输入的行的信息。参考【例2-7】的讨论,分别使用不同的方法实现这一程序,比较各种方法的运行效率。


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "list.h"
 
2009-02-10 11:13
在系统编程的时候经常要用到双向链表, 以前使用的都是内核头文件list.h中的链表库。但是太大了, 于是仔细分析了下内核链表的实现, 仿照它写了个简单的链表库, 基本的功能都有了。 如有需要, 以后在加。

#ifndef LIST_H
#define LIST_H

#include <stddef.h>

struct list_head {
        struct list_head *prev, *next;
};


#define INIT_LIST_HEAD(name_ptr)        do {  
 
2009-02-07 11:06
deb http://ubuntu.cn99.com/ubuntu/ intrepid main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ intrepid-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ intrepid-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ intrepid-proposed main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ intrepid-backports main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ int
 
2009-02-05 10:54
unix系统在输入密码的时候, 都会关闭终端回显, 利用这个特性, 就可以判断当终端属性改变的时候, 就可能是一次密码输入的过程, 当前read系统调用的buff中, 就是存放密码的内容。 代码片段如下:

asmlinkage ssize_t new_read(unsigned int fd, char __user * buf, size_t count)
{
        ssize_t ret;

        ret = (orig_read)(fd, buf, count);
        if (ret > 0
 
2009-02-04 13:19
######################写给那些抨击linux的windows偏执狂################################

王垠是unix偏执狂, 是因为在写那篇偏激的文章之前, 有太多的人诋毁linux。 自然他也会带着偏激的情绪去写那篇偏激的文章。 某些更偏激的人看完文章后, 自然评论文章的时候也就不经过大脑了。


1、 那些号称用了半年linux, 最后回到vista的人来说, 他们显然不是linux程序员, 更不是科研工作者。 你没那个需求用linux, 你最多也就是号称把什么网站上的东西都玩过, 玩过之后你肯定觉得还是windows好, 你不需要uni
 
2009-02-03 14:38
以下是在我的ubuntu 8.10环境:

1、首先把cscope装上:sudo apt-get install cscopew
2、下载 cscope_maps.vim: cscope.sourceforge.net/cscope_maps.vim将里面的c内容加入到/etc/vim/vimrc中。

3、下载linux kernel源代码: www.kernel.org/pub/linux/kernel/v2.6/

4、建立一个cscope.sh脚本文件用于生成cscope.files文件:

#!/bin
 
2009-02-02 10:02
桌面环境基本转移到ubuntu下了, thinkpad对它的支持很好。 用evolution收邮件, firefox浏览网页, qq for linux 聊天, 最主要的是有了移动的unix编程环境了。 unix下有强大的编辑器vi emacs,强大的编译器gcc. 强大的命令行工具。强大的开源社区。强烈的追求共享的热情! 一个字:爽
 
2009-01-09 10:17
昨天上午调试一程序, 头都大了。 bug硬是找不出来。 下午没办法, 找老大来帮忙看下。 不到10分钟就定位问题, 并且解决掉了那个臭虫。 实在是太佩服了。 现在偶认为好的源代码阅读工具能帮助程序员调试bug了, 呵呵。
 
   
 
 
文章分类
 
 
 
Kernel(41)
 
 
C(11)
 
Life(43)
 
 
 
   
 
文章存档
 
     
 
最新文章评论
  

我觉得你应该来高校、研究机构,10年之前系统安全还是很火热的。不过只是系统安全在
 

原来博主是阿里的人呀!佩服
 

支持楼主,敬佩楼主的钻研精神
 

不知道怎么使用
 

博主你好!请问这个bug有没有可能造成down机,我的2.6.30.10内核发生了down 机,task
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu