Linux中如何查找函数的实现

时间:2021-04-13 16:17:29
比方说函数 tcsetospeed函数,使用Qt Createor可以跳转到他的头文件 termios.h。但有时候想看一下这个函数是如何实现的,这时候该如何查找该函数的对应的实现文件呢?

19 个解决方案

#1


我没用 Qt Creator
你可以看看Qt Creator的帮助,有没有这个功能。

#2


如果按照习惯,我会去找termios.cpp文件,
看看那个函数的实现

#3


头文件是termios.h
那函数的实现应该就是楼上说的termios.cpp之类的了

应该能找到

#4


比方说函数 tcsetospeed函数,使用Qt Createor可以跳转到他的头文件 termios.h。但有时候想看一下这个函数是如何实现的,这时候该如何查找该函数的对应的实现文件呢?
--------------
下个断点,就能跳进去了

#5


即使找不到对应的termios.cpp文件。用的是Ubuntu,用桌面的搜索功能,或者是shell中的find命令,都无法找到。
是不是默认情况下,ubuntu没有安装这些cpp文件。

#6


可能要下载内核源码....

#7


如果是Qt Createor
光标移动到方法上点右键
选最后的两项

快捷键f2 、shift+f2
能最后跟到实现代码

我的就是ubuntu 上实验了下,可以看到源代码

#8


我是Ubuntu8.04,打开/usr/src目录,里边有linux-headers-2.6.24-26和linux-headers-2.6.24-26-generic两个目录,看名字应该是头文件,一个35兆,一个5.6兆。下载了一套linux的核心代码,解压后大概有700兆。是不是ubuntu默认安装只带了核心的头文件,因为可以从Qt Creator跳转到头文件中。

使用sudo apt-get install kernel-source命令安装,也无法下载到cpp文件。

#9


T_T  为啥要是cpp文件呢?

#10


执行命令: sudo apt-get install linux-source,好像开始下载源码了。

#11


lz,你到底是要看qt的源代码
还是linux内核源代码?

#12


下载完了,是个压缩文件,直接解压还是错误。能把自己下载的源码直接复制过去用吗?

#13


要看内核的,比方像tcgetattr这个函数。

#14


额,误导楼主了,sorry

不是内核的源代码, 应该是ubuntu源码,那里才有库的实现

#15


怎样下载ubuntu的源码呢?

#16


已经成功解压了。
应该没有Ubuntu的源码这种说法吧,应该就是核心源代码和其他软件的源码吧。
像termios.h对应的实现文件如何查呢,使用find或者locate命令搜termios.c都无法查到,应该是别的文件名吧。

#17


你直接在源码目录下grep函数吧

grep -r tcsetospeed *

#18


ubuntu 里面的linux 默认情况下没有源码吗?菜鸟想学习

#19


软件包管理器中搜索一下有关source的
官网上也有source的iso镜像

#1


我没用 Qt Creator
你可以看看Qt Creator的帮助,有没有这个功能。

#2


如果按照习惯,我会去找termios.cpp文件,
看看那个函数的实现

#3


头文件是termios.h
那函数的实现应该就是楼上说的termios.cpp之类的了

应该能找到

#4


比方说函数 tcsetospeed函数,使用Qt Createor可以跳转到他的头文件 termios.h。但有时候想看一下这个函数是如何实现的,这时候该如何查找该函数的对应的实现文件呢?
--------------
下个断点,就能跳进去了

#5


即使找不到对应的termios.cpp文件。用的是Ubuntu,用桌面的搜索功能,或者是shell中的find命令,都无法找到。
是不是默认情况下,ubuntu没有安装这些cpp文件。

#6


可能要下载内核源码....

#7


如果是Qt Createor
光标移动到方法上点右键
选最后的两项

快捷键f2 、shift+f2
能最后跟到实现代码

我的就是ubuntu 上实验了下,可以看到源代码

#8


我是Ubuntu8.04,打开/usr/src目录,里边有linux-headers-2.6.24-26和linux-headers-2.6.24-26-generic两个目录,看名字应该是头文件,一个35兆,一个5.6兆。下载了一套linux的核心代码,解压后大概有700兆。是不是ubuntu默认安装只带了核心的头文件,因为可以从Qt Creator跳转到头文件中。

使用sudo apt-get install kernel-source命令安装,也无法下载到cpp文件。

#9


T_T  为啥要是cpp文件呢?

#10


执行命令: sudo apt-get install linux-source,好像开始下载源码了。

#11


lz,你到底是要看qt的源代码
还是linux内核源代码?

#12


下载完了,是个压缩文件,直接解压还是错误。能把自己下载的源码直接复制过去用吗?

#13


要看内核的,比方像tcgetattr这个函数。

#14


额,误导楼主了,sorry

不是内核的源代码, 应该是ubuntu源码,那里才有库的实现

#15


怎样下载ubuntu的源码呢?

#16


已经成功解压了。
应该没有Ubuntu的源码这种说法吧,应该就是核心源代码和其他软件的源码吧。
像termios.h对应的实现文件如何查呢,使用find或者locate命令搜termios.c都无法查到,应该是别的文件名吧。

#17


你直接在源码目录下grep函数吧

grep -r tcsetospeed *

#18


ubuntu 里面的linux 默认情况下没有源码吗?菜鸟想学习

#19


软件包管理器中搜索一下有关source的
官网上也有source的iso镜像

#20