Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29989
  • 博文数量: 11
  • 博客积分: 480
  • 博客等级: 下士
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-22 17:29
文章分类

全部博文(11)

文章存档

2009年(11)

我的朋友

分类: LINUX

2009-02-07 12:19:52

下面以查找结构体FILE的原始定义为例:
1、我们知道,这些定义一般都在 /usr/include下面,所以首先到达目录 /usr/include 下面
2、用grep命令搜索 ,即 grep ‘FILE' stdio.h,可得以下结果(部分),FILE在stdio.h中定义有好多地方提到过。
#if !defined __need_FILE && !defined __need___FILE
# define __need_FILE
# define __need___FILE
#endif /* Don't need FILE.  */
#if !defined __FILE_defined && defined __need_FILE
struct _IO_FILE;
typedef struct _IO_FILE FILE;
#if defined __USE_LARGEFILE64 || defined __USE_SVID || defined __USE_POSIX \
__USING_NAMESPACE_STD(FILE)
3、从上面的搜索结果可以看到,实际上是把 _IO_FILE 定义为FILE,于是又要查找 _IO_FILE的定义。
4、用grep命令,即执行 grep '_IO_FILE' *.h ,得到以下结果(部分,因为全部太多了,我们要从大量的结果中找到关键内容,当然也可以通过管道 二次使用grep)
_G_config.h:#define _G_HAVE_IO_FILE_OPEN 1
_G_config.h:#define _G_IO_IO_FILE_VERSION 0x20001
libio.h:struct _IO_jump_t;  struct _IO_FILE;
libio.h:  struct _IO_FILE *_sbuf;
libio.h:struct _IO_FILE {
libio.h:  struct _IO_FILE *_chain;
libio.h:#ifdef _IO_USE_OLD_IO_FILE

5、我们看到了libio.h:struct _IO_FILE { 这一行,所以知道 它是在libio.h中定义的,打开该文件,即可看到定义。

阅读(5275) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-02-11 09:58:33

好麻烦。还不如用ctags来得方便。