如何确定某个函数在Linux内核代码中的位置

比如,我要知道atoi()函数的定义,怎么确定它在哪个文件里,我有Linux内核代码,但不知道它在哪,怎么找啊,malloc函数呢?怎么确定?

    如果要看这两个函数在标准库中的定义用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可以自动跳转道光标所在函数的手册。

温馨提示:答案为网友推荐,仅供参考
第1个回答  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。本回答被提问者采纳
第2个回答  2015-10-20
用ctags或cscope生成索引,可以跳转到函数定义。
windows下用source insight也可。如果仍然找不到,用grep -r 搜索关键字。

如果没记错,atoi和malloc在C的标准库中有定义,声明见stdlib.h。标准库的函数都可以man。 man atoi,man malloc. 如果要看这两个函数在标准库中的定义,可以下载glibc源代码,然后查找函数定义。同样可以用ctags,cscope,si或grep。
第3个回答  2012-10-14
在linux控制台输入:
man atoi
即可知道atoi函数的定义
同理,输入:
man malloc
即可知道malloc的定义
第4个回答  2012-10-15
到网上找到POSIX标准,里面有全部基本的函数的定义以及位置,如果找不到再找我要吧
相似回答