linux find命令结构体的定义出,linux如何查找一个结构体的原始定义

下面以查找结构体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中定义的,打开该文件,即可看到定义。

阅读(4899) | 评论(1) | 转发(0) |

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值