博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
怎样在linux下查找一个结构体的原始定义
阅读量:6907 次
发布时间:2019-06-27

本文共 1058 字,大约阅读时间需要 3 分钟。

下文摘自chinaunix:hongyueer的blog:

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

转载于:https://www.cnblogs.com/flash610/archive/2013/06/06/3121229.html

你可能感兴趣的文章
Red Hat Enterprise Linux(RHEL)中yum的repo文件详解
查看>>
AI考拉技术分享会--Node.js并发模型
查看>>
NEO改进协议提案6(NEP-6)
查看>>
优化体系结构 - 混合运算实现 T+0查询
查看>>
java bean 对象属性复制框架BeanMapping-01-入门案例
查看>>
脑洞大开的翻转代码
查看>>
优化体系结构 - 数据外置减少中间表
查看>>
用ABAP代码读取S/4HANA生产订单工序明细
查看>>
海报推广神器:活码加多级加密跳转防封双重保护
查看>>
rabbitmq的基本使用
查看>>
深入 Nginx 之架构篇
查看>>
93. Restore IP Addresses
查看>>
环境变量python从版本2.x更改为3.x时,yum报错
查看>>
ant Table rowSelection勾选后更新数据无法清除缓存(无法取消勾选)
查看>>
【Linux系统编程】普通用户绑定(bind)特权端口
查看>>
代码编辑器Sublime_Text3的使用
查看>>
Docker Stack 部署web集群
查看>>
thinkphp源码分析(一)—开门篇
查看>>
猫叔产品读记 | 如何更好的玩转补贴、阿里入股B站商业化变现、儿童口腔市场怎么样?(3期)...
查看>>
Worse Is Better 思想的发展史
查看>>