卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

linux如何查看庫函數(shù)源代碼 如何查看linux動態(tài)庫中包含哪些函數(shù)?

linux下如何查詢一個函數(shù)或結(jié)構(gòu)的原代碼?使用ctags最方便。1.安裝CTAGS。2.在內(nèi)核源碼目錄下執(zhí)行ctags-R*生成標簽數(shù)據(jù)庫。3.您在vim-t中尋找的數(shù)據(jù)結(jié)構(gòu)的定義。例如,vim-t

linux如何查看庫函數(shù)源代碼 如何查看linux動態(tài)庫中包含哪些函數(shù)?

linux下如何查詢一個函數(shù)或結(jié)構(gòu)的原代碼?

使用ctags最方便。1.安裝CTAGS。2.在內(nèi)核源碼目錄下執(zhí)行ctags-R*生成標簽數(shù)據(jù)庫。3.您在vim-t中尋找的數(shù)據(jù)結(jié)構(gòu)的定義。例如,vim-tflock在網(wǎng)絡上有詳細的說明。您可以搜索以下內(nèi)容。

Linux是開源的,那么如何查看源代碼?

Linux內(nèi)核源代碼可以從多種途徑獲得。一般來說,在安裝的linux系統(tǒng)下,/usr/src/linux目錄下的就是內(nèi)核源代碼。

如何查看linux動態(tài)庫中包含哪些函數(shù)?

有兩種主要方法,如下所示:

1.方法1 nm *。因此

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

描述:

Nm可以列出符號信息。o .a .so,包括諸如符號值、符號類型和符號名稱之類的東西。所謂符號,通常指的是定義好的函數(shù),全局變量等等。

示例描述:

納米-D

nm[選項]][文件]

有用的選項:

-A在每個符號信息前面打印目標文件的名稱;

-C輸出demangle符號名稱;

-3d打印動態(tài)符號;

-l使用目標文件中的調(diào)試信息打印出源文件和行號;

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

-u打印出那些未定義的符號;

如何查看linux內(nèi)核源代碼?

一般來說,內(nèi)核源代碼位于/usr/src/Linux *目錄下。*.* (*.*代表內(nèi)核版本,如2.4.23)在Linux系統(tǒng)中(如果沒有類似的目錄,是因為沒有安裝內(nèi)核代碼)。此外,還可以從網(wǎng)上免費下載。注意,不要總是下載,最好用它的鏡像站點下載。請在庫中找到合適的下載點,然后在pub/linux/kernel/v2.6/目錄下下載2.4.23內(nèi)核。

代碼目錄結(jié)構(gòu)

在閱讀源代碼之前,你還應該了解Linux內(nèi)核源代碼的整體分布?,F(xiàn)代操作系統(tǒng)一般由進程管理、內(nèi)存管理、文件系統(tǒng)、驅(qū)動程序和網(wǎng)絡組成。Linux內(nèi)核源代碼的每個目錄大致對應于此,其組成如下(假設相對于Linux-2.4.23目錄):

該目錄包括所有與架構(gòu)相關的核心代碼。它下面的每個子目錄代表一個Linux支持的架構(gòu)。比如i386就是Intel CPU及其兼容架構(gòu)的子目錄。PC一般都是基于這個目錄的。

該目錄包含編譯內(nèi)核所需的大多數(shù)頭文件,例如include/linux子目錄中的平臺無關頭文件。

該目錄包含核心初始化代碼(不是系統(tǒng)的引導代碼),有兩個文件,main.c和Version.c這是研究核心如何工作的一個很好的起點。

該目錄包含所有的內(nèi)存管理代碼。與具體硬件架構(gòu)相關的內(nèi)存管理代碼位于arch/*/mm目錄下。

該目錄包含系統(tǒng)中的所有設備驅(qū)動程序。它又分為幾種類型的設備驅(qū)動程序,每種驅(qū)動程序都有相應的子目錄。比如聲卡的驅(qū)動對應驅(qū)動/聲音。

6.ipc目錄包含核心進程之間的通信代碼。

該目錄存儲可以動態(tài)加載的內(nèi)置模塊。

8.fs目錄存儲了Linux支持的文件系統(tǒng)代碼。不同的文件系統(tǒng)有不同的子目錄。比如ext3文件系統(tǒng)對應ext3子目錄。

內(nèi)核內(nèi)核管理的核心代碼放在這里。同時,與處理器結(jié)構(gòu)相關的代碼放在arch/*/kernel目錄中。

目錄是核心網(wǎng)絡部分代碼,每個子目錄對應于網(wǎng)絡的一個方面。

該目錄包含核心庫代碼,但與處理器結(jié)構(gòu)相關的庫代碼放在arch/*/lib/目錄中。

該目錄包含用于配置內(nèi)核的腳本文件。

目錄下面是一些文檔,是對每個目錄功能的具體說明。

通常,每個目錄中都有一個. depend文件和一個Makefile文件。這兩個文件是編譯時使用的輔助文件。仔細閱讀這兩個文件,對理解兩者之間的關系和依賴是很有幫助的。另外,有些目錄下有自述文件,是這個目錄下文件的一些描述,也有利于理解內(nèi)核源代碼。

有縱向和橫向的閱讀方法或順序。所謂縱向,就是沿著程序的執(zhí)行順序一步步進行;所謂橫向,就是按模塊。它們經(jīng)常結(jié)合在一起進行。對于Linux啟動代碼,可以按照Linux的啟動順序一步一步的讀;對于內(nèi)存管理之類的部分,可以單獨閱讀分析。其實這是一個迭代的過程,不可能看一遍就明白。