1. 程式人生 > >Linux查詢庫函式中的巨集或結構體定義

Linux查詢庫函式中的巨集或結構體定義

在man手冊中只能看函式的宣告,如果形參中有巨集或者結構體出現,怎麼檢視它的具體定義呢?有兩種方式。

1.在man手冊中確定包含這個函式的標頭檔案,在/usr/include/目錄下開啟標頭檔案,查詢結構體,但巨集和結構體的定義不一定在該標頭檔案裡 

grep "sockaddr" /usr/include -n -r

2.在/usr/include/目錄下執行命令:
                                                     

 sudo apt-get install ctags

 sudo ctags -R

 vi -t sockaddr(巨集或結構體名稱)

另外如果有巢狀定義的巨集或結構體

                                                       ctrl+](進入定義) 

                                                       Ctrl+t(返回上一級)

相關推薦

Linux查詢函式巨集結構定義

在man手冊中只能看函式的宣告,如果形參中有巨集或者結構體出現,怎麼檢視它的具體定義呢?有兩種方式。 1.在man手冊中確定包含這個函式的標頭檔案,在/usr/include/目錄下開啟標頭檔案,查詢結構體,但巨集和結構體的定義不一定在該標頭檔案裡  grep "sock

Linux下時間函式:struct timeval結構

 Date: 2017/4/28 Linux時間函式的結構體如下: #include "sys/time.h" struct timeval { __time_t tv_sec;

kernel常用函式巨集結構

1 __setup   在include/linux/init.h檔案中定義 #define __setup_param(str, unique_id, fn, early) \ static const ch

使用ctypes呼叫系統C API函式需要注意的問題,函式引數有指標結構的情況下最好不要修改argtypes

有人向我反應,在程式碼裡同時用我的python模組uiautomation和其它另一個模組後,指令碼執行時會報錯,但單獨使用任意一個模組時都是正常的,沒有錯誤。 我用一個例子來演示下這個問題是如何出現的。 假設我需要寫一個module,這個module需要提供獲取當前滑鼠游標下視窗控制代碼的功能,這需要呼

對於STM32F4函式GPIO_PinAFConfig()函式的解讀

  最近在學STM32F4晶片,想用暫存器操作,在學到IO埠複用AF(Alternative Function)時,發現對於 GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPI

Python查詢函式文件

python強大的一個原因就是有豐富的第三方庫可以使用,省去了我們造輪子的精力,將注意力主要放在處理問題上。但是有時想要檢視所引用的庫都有哪些方法,具體引數該怎麼用時,來回百度,卻不一定能找到詳細的文件。 其實python提供了一個檢視本地文件的方法。通過pyt

使用VC函式的快速排序函式

                上一篇講了快速排序的實現。但在很多場合,直接使用快速排序的庫函式是很方便的。下面講下VC中庫函式qsort()的用法:函式原型:void qsort(void *base,size_t num,size_t width, int (__cdecl *compare )(cons

Linux動態Project連結靜態時,遇到error adding symbols: Bad value的問題

現象:在生成某個動態庫比如SDS_Utility.so的時候,需要靜態連結某些庫,如libboost_log.a, 報上述錯誤。 原因:靜態庫想連結進動態庫,必須滿足一定的條件,靜態庫需要加-fPIC選項編譯,編譯成Position Independent C

linux核心分析--核心的資料結構之紅黑樹(續)

#include<linux/rbtree.h> #include <linux/string.h> #include "kn_common.h" MODULE_LICENSE("Dual BSD/GPL"); struct student { int id;

linux核心分析--核心的資料結構之紅黑樹(四)

紅黑樹由於節點顏色的特性,保證其是一種自平衡的二叉搜尋樹。 紅黑樹的一系列規則雖然實現起來比較複雜,但是遵循起來卻比較簡單,而且紅黑樹的插入,刪除效能也還不錯。 所以紅黑樹在核心中的應用非常廣泛,掌握好紅黑樹,即有利於閱讀核心原始碼,也可以在自己的程式碼中借鑑這種資料結構。 紅黑樹必

linux核心分析--核心的資料結構之佇列(二)

核心中的佇列是以位元組形式儲存資料的,所以獲取資料的時候,需要知道資料的大小。 如果從佇列中取得資料時指定的大小不對的話,取得資料會不完整或過大。 核心中關於佇列定義的標頭檔案位於:<linux/kfifo.h> include/linux/kfifo.h 標頭檔案中定義的函

linux核心分析--核心的資料結構之雙鏈表(一)

關於核心中使用到的資料結構這一系列會有五篇文章, 分別介紹    連結串列    佇列    雜湊    對映    紅黑樹

Linux查詢替換檔案的字串

find /run -type f -name "*.pid" -exec grep -l 541 {} \; 查詢/run目錄下程序號為541的pid檔案 find . -type f -na

Linux】PCB的task_struct結構

task_struct結構體 task_struct是程序控制塊PCB中的一個結構體,用來儲存程序的各種屬性資訊 這裡面有程序狀態,程序排程,程序識別符號,程序通訊,程序連結,時間和定時器,檔案系統,

【C/C++】C語言math.h函式atan與atan2的區別

Ref 在 math.h 標準庫中,定義了兩個反正切函式: //返回以弧度表示的 x 的反正切 double atan(double x) //返回以弧度表示的 y/x 的反正切。y 和 x 的值的符號決定了正確的象限。 double at

c++ mapkey為類物件結構

C++實際開發的過程會經常使用到map。map是一個key-value值對,key 唯一,可以用find進行快速的查詢。其時間複雜度為O(logN),如果採用for迴圈進行遍歷資料時間複雜度為O(N)。如果map中的資料量比較少 時,採用find和for迴圈遍歷的效率基本沒有太大的區別,但是在實際的開發過程

Android DNS之查詢函式介面

概述 這篇筆記總結下,為了實現域名<–>IP地址、服務名<–>埠號之間的轉換,系統到底對外提供了哪些介面。 域名<–>IP地址轉換 域名–>IP地址 gethostbyname() struct hostent *get

linux系統函式之strcpy、strncpy

 91 #ifndef __HAVE_ARCH_STRCPY  92 /**  93  * strcpy - Copy a %NUL terminated string  94  * @dest: W

如何在 Linux/Unix 的 Bash 開啟關閉 ls 命令顏色顯示 | Linux 中國

大多數現代 Linux 發行版和 Unix 系統都有一個定義了檔名稱顏色的別名。然後,ls 命令

Linux核心程式碼學習獲得結構成員偏移量的方法

作者:阿波(幾年前的一篇文章,翻出來共享一下。)Content0. 引子1.舉例(1) 程式碼(2) 檢查結果(3) 為什麼從0開始?(4) 從非0地址開始的結果2.小結0. 引子在linux-2.26