日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux怎么查看内核定义的结构体,Linux如何查找一个结构体的原始定义

發布時間:2025/3/12 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux怎么查看内核定义的结构体,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中定義的,打開該文件,即可看到定義。

注意:有時候有些宏定義還會調用其他的宏定義,如在中有如下定義: #define S_IRUSR ?__S_IREAD ,__S_IREAD本身也是個宏,我們不知道它定義在何處,可以用之前的方法繼續尋找__S_IREAD,但有時候會在/usr/include/的子文件夾下,這時候就不好尋找了,通常我們看到?#define S_IRUSR ?__S_IREAD 這樣的定義,可以沿著此語句往代碼的前方找,看到的第一個#include文件,如,?__S_IREAD 就是在這個文件下定義的,然后查找此文件,可以看到如下聲明:#define??__S_IREAD ?0400 /*Read by owner.*/

linux內核頭文件/usr/include/ 目錄下的.h文件中會include其它頭文件,但通常不會把調用的其它頭文件列在一起,而是include一個頭文件之后,緊接著的語句是會用到這個頭文件中的宏,或其它聲明的變量,函數,結構體等等。

而linux內核源碼中的.c文件等會把所有調用的文件列在程序的開頭。如/usr/src/kernel/linux-2.6.38.6/mm/memory.c程序開頭如下:

#include?

#include

#include?

#include

#include

..................

總結

以上是生活随笔為你收集整理的linux怎么查看内核定义的结构体,Linux如何查找一个结构体的原始定义的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。