如何确定某个函数在Linux内核代码中的位置
比如,我要知道atoi()函数的定义,怎么确定它在哪个文件里,我有Linux内核代码,但不知道它在哪,怎么找啊,malloc函数呢?怎么确定?...
比如,我要知道atoi()函数的定义,怎么确定它在哪个文件里,我有Linux内核代码,但不知道它在哪,怎么找啊,malloc函数呢?怎么确定?
展开
7个回答
展开全部
如果要看这两个函数在标准库中的定义用ctags或cscope生成索引.h,cscope,可以跳转到函数定义,man malloc,声明见stdlib。
如果仍然找不到,可以用ctags,si或grep。
windows下用source insight也可,然后查找函数定义,用grep -r 搜索关键字,atoi和malloc在C的标准库中有定义。
1.安装ctags
在源代码目录下运行
ctags -R
这样,会递归生成当前目录下及其子目录的tags文件。
2.使用VIM根据tags文件查找函数或结构定义。
1.在源码目录下查找
vi -t tagname
2.如果要在任意位置使用,则需要把该tags文件添加到~/.vimrc文件中
set tags=/home/money/sda8/2.6232/tags
3.如果要在代码中实时跟踪,则光标移动到函数名上,使用CTRL+]键,按CTRL+t可以返回。
如果要跟踪系统函数,使用shift+K可以自动跳转道光标所在函数的手册。
2012-10-14
展开全部
用ctags或cscope生成索引,可以跳转到函数定义。
windows下用source insight也可。如果仍然找不到,用grep -r 搜索关键字。
如果没记错,atoi和malloc在C的标准库中有定义,声明见stdlib.h。标准库的函数都可以man。 man atoi,man malloc. 如果要看这两个函数在标准库中的定义,可以下载glibc源代码,然后查找函数定义。同样可以用ctags,cscope,si或grep。
windows下用source insight也可。如果仍然找不到,用grep -r 搜索关键字。
如果没记错,atoi和malloc在C的标准库中有定义,声明见stdlib.h。标准库的函数都可以man。 man atoi,man malloc. 如果要看这两个函数在标准库中的定义,可以下载glibc源代码,然后查找函数定义。同样可以用ctags,cscope,si或grep。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用ctags或cscope生成索引,可以跳转到函数定义。
windows下用source insight也可。如果仍然找不到,用grep -r 搜索关键字。
如果没记错,atoi和malloc在C的标准库中有定义,声明见stdlib.h。标准库的函数都可以man。 man atoi,man malloc. 如果要看这两个函数在标准库中的定义,可以下载glibc源代码,然后查找函数定义。同样可以用ctags,cscope,si或grep。
windows下用source insight也可。如果仍然找不到,用grep -r 搜索关键字。
如果没记错,atoi和malloc在C的标准库中有定义,声明见stdlib.h。标准库的函数都可以man。 man atoi,man malloc. 如果要看这两个函数在标准库中的定义,可以下载glibc源代码,然后查找函数定义。同样可以用ctags,cscope,si或grep。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在linux控制台输入:
man atoi
即可知道atoi函数的定义
同理,输入:
man malloc
即可知道malloc的定义
man atoi
即可知道atoi函数的定义
同理,输入:
man malloc
即可知道malloc的定义
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-10-15 · 知道合伙人数码行家
关注
展开全部
到网上找到POSIX标准,里面有全部基本的函数的定义以及位置,如果找不到再找我要吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询