函数的查找:
man手册的使用:
如:man scanf
man 1 scanf
man 2 scanf
man 3 scanf
如何查看类型的定义?
我们可以使用ctags来查询:
ctags的安装与使用:(联网条件下)
1》安装ctags:
sudo apt-get install ctags
2》生成tags
在路径cd /usr/include下
或者
在路径 cd /usr/src/linux-hwe-5.4-headers-5.4.0-109/include/下
(注意:关于linux-hwe-5.4-headers-5.4.0-109,这里你有可能安装的是其他版本的,需要自己去路径/usr/src下,执行ls命令来查询)
命令:sudo ctags -R
3》 查询:(ctags的使用)
1.cd /usr/include
2. 在路径/usr/include下,命令:vi -t xxxx -----》xxxx要查询的类型
例子: vi -t size_t(可查询到size_t是什么类型)
还可以在路径/usr/src/linux-hwe-5.4-headers-5.4.0-109/include下查看类型(注意:此路径查看的类型typedef与路径/usr/include下查看的类型typedef不一样。如果路径/usr/include下无法寻找到想要的类型,则可以在此路径下查找试试看。)
linux-hwe-5.4-headers-5.4.0-109,这里你有可能安装的是其他版本的,需要自己去路径/usr/src下,执行ls命令来查询
1.先在路径/usr/src/linux-hwe-5.4-headers-5.4.0-109/include下,生成tags:
命令:sudo ctags -R
2.在路径/usr/src/linux-hwe-5.4-headers-5.4.0-109/include下:
命令:vi -t xxxx 例如:vi -t size_t
*查找结构体类型
例如:
查找结构体类型: struct task_struct
*命令:
grep struct\ task_struct\ { /usr/src/linux-headers-5.4.0-110-generic/include/* -rn
(注意:你的linux-headers-5.4.0-110-generic有可能安装是其他版本的,需要自己去在路径 /usr/src下去查询)
*结果:(过几秒后,linux会返回下面这样一条信息,其中624是结构体所在的行数)
/usr/src/linux-headers-5.4.0-110-generic/include/linux/sched.h:624:struct task_struct {
*操作:(我们得知结构体所在行数为第624行后,然后我们执行下面命令)
vi /usr/src/linux-headers-5.4.0-110-generic/include/linux/sched.h +624
注意: 有时候grep struct\ task_struct\ { /usr/src/linux-headers-5.4.0-110-generic/include/* -rn 无法查找出结构体来,很可能是因为,下图中红圈的地方需要再多打一个空格才行。
这是因为:
写这个结构体的老六,手抖了,在红圈处多打了一个空格,所以导致我们无法查询到该结构体。