用SI看Linux源代码,有时候函数定位,会搜索到好几个定义(在不同的文件中),这怎么理解???

如题所述

SI的函数定位,其实就是建立索引,它只会把相同的东西连接起来,不管是变量还是函数,不管是相同文件还是不同的文件,当你按着ctrl点击函数名时,SI就会在建立好的索引里,找到这个函数名出现的其他地方跳到那里,仅此而已,即使两个文件完全没有关系,如果有多个地方,此时就会让你选择跳到哪个地方,SI没有你想得那么智能,它是不会走函数的流程的追问

那我们在学习linux源码时,怎么判断函数的流程?

追答

你可以先把你觉得重要的,可能会有关联的代码加入SI工程里面,然后再project---》synchronize files建立静态索引,时间会很久,但是这样建立的索引你点击函数链接的地方会比较准确(起码),加上你自己的判断,就可以找到调用的准确地方,另外如果函数的名字没有链接的显色,可以在同一级目录下找搜索这个函数名,或者上一级目录,或者包含的头文件

温馨提示:答案为网友推荐,仅供参考
相似回答