摘要: GDB 调试程序的一些用法。 很杂,抄网上的很多,不过也算比较适用。  阅读全文
posted @ 2008-08-04 17:38 shipfi 阅读(28) | 评论 (0)编辑
     摘要: 也不知道写点什么,反正日子总是一天天的过。偶而拾得一篇好作或者心得就放到cnblog上,没有了,也懒得去更新。  毕竟这也不是写日记,非得必要天天来记一下。至少这一个月,有两篇,一篇是抄的,一篇是废话。八月份来了,项目也忙起来了,我想中间如果有什么好的想法,或者得到什么新的东西,都放上去。  阅读全文
posted @ 2008-07-28 23:00 shipfi 阅读(15) | 评论 (0)编辑
     摘要: 文章转自:http://www.linuxsir.org/bbs/showthread.php?t=176673
文章中涉及许多Unix中非常有用及细节的编程问题  阅读全文
posted @ 2008-07-08 09:50 shipfi 阅读(42) | 评论 (0)编辑
     摘要: bash编程中的几个注意点。记下,以备忘。  阅读全文
posted @ 2008-06-12 23:39 shipfi 阅读(34) | 评论 (0)编辑
posted @ 2008-06-11 23:41 shipfi 阅读(48) | 评论 (0)编辑
     摘要: Makefile的写法.
不懂,比较烦.尤其是涉及规则的时候.真是烦透了.  阅读全文
posted @ 2008-05-28 16:50 shipfi 阅读(48) | 评论 (1)编辑
posted @ 2008-05-27 22:34 shipfi 阅读(76) | 评论 (0)编辑
     摘要: 在看《Unix环境编程》这本书的时候,这三个概念一直闹得不清楚. 书上讲得也不是太仔细(太高估俺的智商啦).
一方面,涉及到多进程IPC的程序中关于uid的设置,代码看得让人摸不着头脑.
网上有这方面的说明,中文太多的文章都是了了.且一成不变,都是一大抄.

还是chinaunix上面对于这几个概念回答的比较到位. 有深度也有广度.


这篇贴子在:http://bbs.chinaunix.net/viewthread.php?tid=820766  阅读全文
posted @ 2008-05-14 17:21 shipfi 阅读(83) | 评论 (0)编辑
     摘要: vim+taglist+ctags使用说明.
另,再附上我在Linux中的.vimrc配置  阅读全文
posted @ 2008-05-08 00:38 shipfi 阅读(264) | 评论 (0)编辑
     摘要: 对于windows中的_vimrc配置,
只是解决了中文乱码的问题,可以在日文OS中显示中文.
另外,对于显示日文,需要手动配置一下.  阅读全文
posted @ 2008-05-07 11:26 shipfi 阅读(73) | 评论 (1)编辑
     摘要: typedef与函数指针的一些常用法。
另外,以下这篇文章也对函数指针有一个很好的说明。
http://teren.itpub.net/post/15914/189516  阅读全文
posted @ 2008-05-06 12:56 shipfi 阅读(36) | 评论 (0)编辑
     摘要: 命令包括:
(1) 移动
(2) 匹配
(3) 操作
(4) 删除
(5) 取代及还原
(6) 加上数目字:
(7) 格式化文本:
(8) 复制(yank)
  阅读全文
posted @ 2008-05-04 22:16 shipfi 阅读(51) | 评论 (0)编辑
     摘要: 使用sigaction来实现signal函数,然后用一个例子测试一下.
该例子打印3的倍数,两秒运行后接收到SIGALRM信号. 超时退出.  阅读全文
posted @ 2008-04-23 17:25 shipfi 阅读(71) | 评论 (0)编辑
     摘要: 以下是可以直接用来在C源程序中使用的宏函数,用来得到一些信息。包括打印源文件名,行数,日期,时间等。

对于这些调试信息,还可以进行扩充。

  阅读全文
posted @ 2008-04-22 22:29 shipfi 阅读(36) | 评论 (0)编辑
     摘要: 在vim中,使用Cscope来快速定位函数的定义,查找函数的原型,很方便。

在我Fedora8的机器中,已经默认安装了cscope这个程序。

刚刚使用cscope,不是很熟悉,很多“先进的”功能留待以后慢慢挖掘。 这里先写一下vim中简单的使用cscope,以便能够在源代码中:
1. 快速切换至函数的定义。
2. 函数的声明.
3. 查找某个函数被使用的情况。

首先,让vim支持cscope,在~/.vimrc中加入:
"set cscopequickfix=s-,c-,d-,i-,t-,e-"

其次,要在源代码目录内生成相关的cscope的信息.
这里以libpcap代码为例
#cd /usr/code/libpcap
#cscope -Rbq

#把生成的cscope文件导入到vim中来
#:cs add /usr/code/libpcap/cscope.out /usr/code/libpcap/

下面就可  阅读全文
posted @ 2008-04-21 16:36 shipfi 阅读(209) | 评论 (0)编辑
     摘要: 在bash脚本编程中,有些地方比较容易迷惑,也容易出错。
今天就碰到一例,例如:


if["$UID" -ne "$ROOT_UID"]
then
echo "Must be root to run this script"
exit $E_NOTROOT
fi

就以上几行代码,就有两处错误。

1) if和[之间没有空格。 产生错误。
2) [和"之间,"和]之间没有空格,产生错误。

也行是写C代码写习惯了,不经意间就像写C程序一样的语法和格式。
其实,为什么要有空格也比较好理解,因为是shell脚本嘛,最终还是执行的shell命令。如果没有空格,以上语句:
if["$UID" -ne "$ROOT_UID"]
shell完全可以理解成:
if["$UID" -->由于没有空格,它会不会是命令呢????

所以,在写shell脚本的时候,空格是一定要注意的。  阅读全文
posted @ 2008-04-19 23:37 shipfi 阅读(35) | 评论 (0)编辑