2016 - 2024

感恩一路有你

linux如何查看库函数源代码 如何查看linux动态库中包含哪些函数?

浏览量:3047 时间:2023-01-13 22:40:15 作者:采采

linux如何查看库函数源代码 如何查看linux动态库中包含哪些函数?

linux下如何查询一个函数或结构的原代码?

使用ctags最方便。1.安装CTAGS。2.在内核源码目录下执行ctags-R*生成标签数据库。3.您在vim-t中寻找的数据结构的定义。例如,vim-tflock在网络上有详细的说明。您可以搜索以下内容。

Linux是开源的,那么如何查看源代码?

Linux内核源代码可以从多种途径获得。一般来说,在安装的linux系统下,/usr/src/linux目录下的就是内核源代码。

如何查看linux动态库中包含哪些函数?

有两种主要方法,如下所示:

1.方法1 nm *。因此

2.方法2 readelf -a *。因此

描述:

Nm可以列出符号信息。o .a .so,包括诸如符号值、符号类型和符号名称之类的东西。所谓符号,通常指的是定义好的函数,全局变量等等。

示例描述:

纳米-D

nm[选项]][文件]

有用的选项:

-A在每个符号信息前面打印目标文件的名称;

-C输出demangle符号名称;

-3d打印动态符号;

-l使用目标文件中的调试信息打印出源文件和行号;

-n按地址/符号值排序;

-u打印出那些未定义的符号;

如何查看linux内核源代码?

一般来说,内核源代码位于/usr/src/Linux *目录下。*.* (*.*代表内核版本,如2.4.23)在Linux系统中(如果没有类似的目录,是因为没有安装内核代码)。此外,还可以从网上免费下载。注意,不要总是下载,最好用它的镜像站点下载。请在库中找到合适的下载点,然后在pub/linux/kernel/v2.6/目录下下载2.4.23内核。

代码目录结构

在阅读源代码之前,你还应该了解Linux内核源代码的整体分布。现代操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络组成。Linux内核源代码的每个目录大致对应于此,其组成如下(假设相对于Linux-2.4.23目录):

该目录包括所有与架构相关的核心代码。它下面的每个子目录代表一个Linux支持的架构。比如i386就是Intel CPU及其兼容架构的子目录。PC一般都是基于这个目录的。

该目录包含编译内核所需的大多数头文件,例如include/linux子目录中的平台无关头文件。

该目录包含核心初始化代码(不是系统的引导代码),有两个文件,main.c和Version.c这是研究核心如何工作的一个很好的起点。

该目录包含所有的内存管理代码。与具体硬件架构相关的内存管理代码位于arch/*/mm目录下。

该目录包含系统中的所有设备驱动程序。它又分为几种类型的设备驱动程序,每种驱动程序都有相应的子目录。比如声卡的驱动对应驱动/声音。

6.ipc目录包含核心进程之间的通信代码。

该目录存储可以动态加载的内置模块。

8.fs目录存储了Linux支持的文件系统代码。不同的文件系统有不同的子目录。比如ext3文件系统对应ext3子目录。

内核内核管理的核心代码放在这里。同时,与处理器结构相关的代码放在arch/*/kernel目录中。

目录是核心网络部分代码,每个子目录对应于网络的一个方面。

该目录包含核心库代码,但与处理器结构相关的库代码放在arch/*/lib/目录中。

该目录包含用于配置内核的脚本文件。

目录下面是一些文档,是对每个目录功能的具体说明。

通常,每个目录中都有一个. depend文件和一个Makefile文件。这两个文件是编译时使用的辅助文件。仔细阅读这两个文件,对理解两者之间的关系和依赖是很有帮助的。另外,有些目录下有自述文件,是这个目录下文件的一些描述,也有利于理解内核源代码。

有纵向和横向的阅读方法或顺序。所谓纵向,就是沿着程序的执行顺序一步步进行;所谓横向,就是按模块。它们经常结合在一起进行。对于Linux启动代码,可以按照Linux的启动顺序一步一步的读;对于内存管理之类的部分,可以单独阅读分析。其实这是一个迭代的过程,不可能看一遍就明白。

目录 代码 内核 文件 Linux

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。