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

2025-03-12 22:19:41
推荐回答(4个)
回答1:

  1. 如果要看这两个函数在标准库中的定义用ctags或cscope生成索引.h,cscope,可以跳转到函数定义,man malloc,声明见stdlib。

  2. 如果仍然找不到,可以用ctags,si或grep。

  3. windows下用source insight也可,然后查找函数定义,用grep -r 搜索关键字,atoi和malloc在C的标准库中有定义。

  4. 1.安装ctags

    在源代码目录下运行

    ctags -R

    这样,会递归生成当前目录下及其子目录的tags文件。

  5. 2.使用VIM根据tags文件查找函数或结构定义。

    1.在源码目录下查找

    vi -t tagname

    2.如果要在任意位置使用,则需要把该tags文件添加到~/.vimrc文件中

    set tags=/home/money/sda8/2.6232/tags

    3.如果要在代码中实时跟踪,则光标移动到函数名上,使用CTRL+]键,按CTRL+t可以返回。

    如果要跟踪系统函数,使用shift+K可以自动跳转道光标所在函数的手册。

回答2:

用ctags或cscope生成索引,可以跳转到函数定义。
windows下用source insight也可。如果仍然找不到,用grep -r 搜索关键字。

如果没记错,atoi和malloc在C的标准库中有定义,声明见stdlib.h。标准库的函数都可以man。 man atoi,man malloc. 如果要看这两个函数在标准库中的定义,可以下载glibc源代码,然后查找函数定义。同样可以用ctags,cscope,si或grep。

回答3:

在linux控制台输入:
man atoi
即可知道atoi函数的定义
同理,输入:
man malloc
即可知道malloc的定义

回答4:

到网上找到POSIX标准,里面有全部基本的函数的定义以及位置,如果找不到再找我要吧