用Source Insight看Linux源代码,同一个函数会出现多重位置,怎么确定到底用的哪个呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Source Insight看Linux源代码,同一个函数会出现多重位置,怎么确定到底用的哪个呢?相关的知识,希望对你有一定的参考价值。

比如memset就有22个原型,不知道哪个是真的

呵呵,这个问题好解决,你在linux下,首先将其编译一道,也就是先要配置,然后在编译
之后呢,比如说a.c里面有个 func1函数,你用sourceinside查看不是有好多申明么,他们应该在不同的*.h里
你在linux下运行如下命令

gcc -M a.c
就可以得到a.c所依赖的所有头文件。
然后你看看你的所有func1的原型在这些头文件中的,就是你真正引用的头文件了
参考技术A 看看你用的那个架构,不同的配置文件会用到不同的位置的名字相同的函数,比如你的配置是x86的核,那么文件名或目录名中带x86的基本就是了。 参考技术B 一般看include/linux下的那个

搭建虚拟机和source insight开发环境

开发中经常有需要看大平台代码的时候,这个时候代码太大在虚拟机里面用vscode看会非常卡顿,因此可以使用source insight来解决这个问题,但是source insight是win环境的,因此需要搭建一个虚拟机和win之间的桥梁,下面记录一下这个过程:

主要是使用source insight + samba访问虚拟机的linux文件系统来实现

1、smaba设置

首先需要安装一下smaba,使用apt进行安装:

sudo apt install samba

之后关闭系统防火墙:

sudo ufw disable

下面开始配置一下smaba

sudo vim /etc/samba/smb.conf

直接进入文件末尾,将下面的内容复制进去,注意path = /home/lx/Downloads是我们共享的路径,需要设置为自己想要共享的路径才行

[suricata]
  comment = get suricata code
  path = /home/lx/Downloads
  writable = yes
  browseable = yes
  guest ok = yes

修改完成后如下所示:

之后重启smaba服务

sudo /etc/init.d/smb restart

2、win设置

进入win平台,按下win + R,在下面输入我们虚拟机的IP地址

进入后效果如下所示:

点开就是我们之前设置的path = /home/lx/Downloads这个虚拟机路径了:

之后右键映射网络驱动器:

直接确认即可:

会看到磁盘上多了这样一个盘:

之后就是source insight的常规操作了:

但是这里一定要注意,需要现在我们设置的共享文件夹下面设置一下文件属性,不然我们win可能无法修改虚拟机里面的文件,因为没有足够的权限。

进入到共享的文件夹,批量修改里面所有文件的权限:

这样就OK了!

以上是关于用Source Insight看Linux源代码,同一个函数会出现多重位置,怎么确定到底用的哪个呢?的主要内容,如果未能解决你的问题,请参考以下文章

搭建虚拟机和source insight开发环境

source insight看代码的坑!!!

source insight看代码的坑!!!

(转)在Source Insight中看Python代码

source insight 支持 system verilog吗

如何用source insight 看python源代码