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 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了, 呵呵。 |
| | |