我想阅读一些Linux内核源代码,我找到了LXR。 这很棒,但有时当我点击某些功能时,比如'kfree',我得到了这个:
使用ld'link'时,一定不能有冲突。所以问题是:如何确定哪一个是THE ONE ??? (我认为gcc + makefile是解决方案,但我不知道该怎么做......)
谢谢!
答案 0 :(得分:0)
1。 如果您对内核有一些隐含的知识,您会注意到kfree是竹节或平板或懒人的一部分。查看内核配置,您可能会注意到您使用slub allocator(通过dfefault)。所以你得出结论 - 正确答案是mm / slub.c:3334。
2
nm -a ./vmlinux | grep kfree
ffffffff81151bd0 T kfree
addr2line -e ./vmlinux 0xffffffff81151bd0
/home/alexhoppus/Desktop/linux/mm/slub.c:3335
答案 1 :(得分:0)
这是另一个linux交叉引用搜索,可能有更详细的信息
如您所见,有些是预处理器定义,有些是函数。要知道哪一个是正确的,您可以查看配置选项,通常在内核的.config文件中。