linux下如何查詢一個函數或結構的原代碼?
使用ctags最方便。1.安裝CTAGS。2.在內核源碼目錄下執行ctags-R*生成標簽數據庫。3.您在vim-t中尋找的數據結構的定義。例如,vim-tflock在網絡上有詳細的說明。您可以搜索以下內容。
linux中為什么那么多main函數?
你是說源代碼?那些都是內核的模塊和驅動,真正的內核只有一個主函數。
如何學習linux驅動開發?
1.學習編寫簡單的makefile
2.創建一個可以運行makefile的應用程序。
3.學習編寫驅動的makefile
4.寫一個簡單的char驅動,makefile編譯好了,可以是insmod,lsmod,rmmod。在驅動程序的init函數中打印HelloWorld之后,您應該能夠通過dmesg看到輸出。
5.寫一個完整的驅動,加上驅動實現的各種功能,如讀,寫,ioctl和輪詢。在ioctl中完成了從用戶空間到內核空間的結構轉換。
6.寫一個塊驅動,加上讀,寫,ioctl,poll等各種函數。
7.簡單學習一下最難的內存管理,了解各種內存alloc函數的實現細節。這是linux開發的基本功。
8.學習鎖機制的應用,這不是最難的但也是最容易出錯的,涉及到很多同步和并發的問題。
9.看看內核中實際應用的驅動代碼。你會發現你已經知道最基本的,大的框架都是一樣的,無非是read,write,ioctl等函數的實現,但是包含了很多很多以前不知道的小的實現細節。這個時候要考慮很多其他的問題,而不僅僅是基本功能的實現。
Linux免費學習地址:
linux函數命名規范?
Linux中的命名規范:
注意:
1.除/(根目錄)以外的所有字符都是合法的。
2.有些字符,如空格字符、制表符、退格字符和字符@#()-最好不要使用。
3.避免使用?作為通用文件名的第一個字符。
4.區分大小寫。
變量命名規則:
1)變量名必須有一定的含義,并且準確。例如,有一個變量用于存儲書籍的數量,可以命名為number_of_book或num_of_book。不推薦我,因為沒有意義。也不建議用number或者book,因為意思不準確。2)不建議大小寫混合。如果定義了計數變量,intnCount;這是Windows中不錯的一個。變量名,其中nCount的首字母n用來表示這個變量的類型是int。但是不建議在Linux下使用大小寫混合。通常,標識符只由小寫字母、數字和下劃線組成。3)無意義時盡量使用較短的變量名。比如有一個變量用來臨時存儲一個計數值,把變量命名為tmp_count顯然比this_is_athis_is_a_temperary_counter更好。4)匈牙利命名法不用于表示變量的類型。如intnCount;n用來描述變量的類型,所以在Linux中不建議命名變量。5)函數名要以動詞開頭,因為函數是一組具有特定功能的語句塊。例如,用于獲取外部輸入值的函數可以命名為get_input_number。6)盡量避免使用全局變量。