最简单的问题,linux下怎么查看某个结构体的定义。

leechiyang 2011-03-01 07:31:09
最近在学习Linux开发,想知道某些结构体是如何定义的,如stat,timespec,DIR等。
有什么通用的方法让我找到结构体的定义?man好像只能查看函数的定义,不能看结构体。
...全文
1384 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
w616054 2012-09-12
  • 打赏
  • 举报
回复 1
再完整写一遍吧。
在/usr/include/目录下
1. 生成tags文件 命令:sudo ctags -R
2. 搜索(宏、结构体)命令: vi -t 名称
3.然后就看见它们的定义了 ctrl + ] (进入) ctrl + t (返回)
w616054 2012-09-12
  • 打赏
  • 举报
回复
接上: 在/usr/include/目录下 (忘说了 呵呵)
w616054 2012-09-12
  • 打赏
  • 举报
回复
我知道一个方法,查看宏和结构体:
1. 先生成tags文件, sudo ctags -R
2. 搜索 vi -t 名字 (例如: vi -t dirent)
3. 然后就看见他们的定义了,空格向下翻, ctrl + ] (进入) ctrl + t (返回)

jier 2012-06-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
其实有很多结构体定义都能用man命令看到,而且还有详细的各项数据的解释、常见取值、常数定义、等等。
关键在于要先知道man哪个函数,比如
man lstat 可以看到 struct stat
man mktime 可以看到 struct tm
man readdir可以看到 struct dirent
[/Quote]
如果再深一层呢
例如 通过 man gettimeofday 查到 timeval

struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
然后我想看 time_t 咋办呢?
hawk198 2011-03-02
  • 打赏
  • 举报
回复
最直接的就是看man帮助,如果找不到,搜索下头文件,一般在/usr/include下面都有
bluejays 2011-03-02
  • 打赏
  • 举报
回复
其实有很多结构体定义都能用man命令看到,而且还有详细的各项数据的解释、常见取值、常数定义、等等。
关键在于要先知道man哪个函数,比如
man lstat 可以看到 struct stat
man mktime 可以看到 struct tm
man readdir可以看到 struct dirent
  • 打赏
  • 举报
回复
在 kernel/include/linux 里面的*.h里面吧。你用什么工具在阅读源代码?
leechiyang 2011-03-01
  • 打赏
  • 举报
回复
还有别的办法吗?
ww2000e 2011-03-01
  • 打赏
  • 举报
回复
一般都在/usr/include某个头文件里面,用grep搜

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧