原创 printk學習之(三):你還在用printk嗎?

1.printk的繼任者pr_xxx系列函數 前面兩節我們介紹了printk的基本原理和printk在驅動調試中的用法,現在我們看一下printk的繼任者,pr_xxx系列函數 可以看到,如果沒有定義pr_fmt(fmt),那麼pr_fm

原创 makefile中$$的使用

1.makefile $$的使用 轉一篇博文 https://www.cnblogs.com/LiuYanYGZ/p/5438441.html 2.小總結 makefile代碼段1: VAR=3    target: prerequsit

原创 extern報錯:static declaration follows non-static declaration

上一篇博客複習與回顧了extern的用法與知識點,於是參考<C和指針>第三章習題P49的第24題,發現課後答案與我自己在ubuntu上做的實驗有衝突,記錄下來 我把課後答案簡化了一下,貼上代碼 按照<C和指針課後答案>的說法,我的代碼第7

原创 C語言extern關鍵字小總結

最近複習C語言基礎,將extern的一些知識點總結下來 參考資料是<C和指針>第三章數據 博客轉:https://blog.csdn.net/qq_27664167/article/details/82859852 1.作用域/鏈接屬性/

原创 C語言中的轉移表

最近學習<C和指針>第十三章, 高級指針話題, 看到了轉移表, 記錄下來 1. int (*f[])() 與int* (*f[])() 上面這兩個聲明都是合法的, 其實本質上沒有區別 int (*f[])()<=>int (*)() f[

原创 對C語言指針強轉的理解

1.什麼是表達式, 表達式的屬性是什麼 寫得好的博客貼在這裏:https://blog.csdn.net/astrotycoon/article/details/50857326 定義:概括說來表達式是由一系列運算符(operators)

原创 驅動mmap學習記錄

最近學習驅動下面的內存映射章節,學習了mmap的機制,記錄下來 mmap的大概原理就是由內核負責分配一段MMAP區域,然後由驅動調用remap_pfn_range函數將其與物理內存映射起來,實際上自己理解最終實現了用戶空間(MMAP區域)

原创 【C語言數據結構】線性表二:線性表的順序表示和實現(代碼)

順序表的概念/數據結構部分請見上一節,這裏直接貼出書上的算法和代碼 需要注意的是這裏的realloc函數的用法,參考MAN手冊就好 另外接口只保證了編譯通過,請自行寫測試用例測試 #ifndef __HEADER_H__ #define

原创 【C語言數據結構】線性表五:線性表的鏈式表示和實現(靜態鏈表代碼)

一.問題((A-B)U(B-A))靜態鏈表實現 *《數據結構》P33 *  需要注意的是算法2.14沒什麼好說的,只是初始化整個結構體數組,算法2.15是在整個備用空間取一個結點當成新鏈表,算法2.16是把不再使用的節點還到備用鏈表上 *

原创 printk學習之(一):基本原理

1.printk的基本原理 其實printk的基本原理我是通過韋東山的視頻和一篇CSDN博客瞭解到的 博客鏈接貼在下面: https://blog.csdn.net/W1107101310/article/details/80526039

原创 printk學習之(二):調試

1.printk日誌級別的來源 其實printk的基本原理我是通過韋東山的視頻和一篇CSDN博客瞭解到的 博客鏈接貼在下面: https://blog.csdn.net/W1107101310/article/details/805260

原创 【string總結之四】C語言strcmp/strncmp

C語言string的幾個函數雖然比較簡單, 但是還是想總結在這裏, 以免每次用到都要去查一下 strtol,strstr,strcat/strncat,strcpy/strncpy,strcmp/strncmp 1.strcmp 【頭文件

原创 Linux拷貝命令cp的一點總結(附cannot overwrite directory xxx with non-directory)

昨天驗證一個補丁,補丁是以old/new形式給出的,需要自行合入到代碼工程中去,得到建議說可以把new文件夾中的東西拷貝到工程中即可,但對比了new文件夾與工程中對應文件夾的內容,涉及到三方面 1.new文件夾中有新增的獨有文件 2.ne

原创 【Linux】線程同步技術之二:條件變量(condition variable)

1.線程同步有兩種技術 第一種是互斥鎖,確保只有一個線程對臨界資源的訪問,但是由於線程的併發性(<Linux_Unix系統編程手冊(上)>P514:調用pthread_create()後,應用程序無從確定系統接着會調度哪一個線程來使用CP