在應用程式中移植linux核心鍊錶

2021-08-13 14:29:58 字數 1049 閱讀 2944

1.鍊錶簡介

鍊錶是一種常用的資料結構,它通過指標將一系列資料節點連線成一條資料鏈。相對於陣列,鍊錶具有更好的動態性,建立鍊錶時無需預先知道資料總量,可以隨機分配空間,可以高效地在鍊錶中的任意位置實時插入或刪除資料。鍊錶的開銷主要是訪問的順序性和組織鏈的空間損失。

2.核心鍊錶結構

struct list_head

; list_head結構包含兩個指向list_head結構的指標prev和next,由此見,核心的鍊錶具備雙鏈表功能,實際上,通常它都組織成雙向迴圈鍊錶。

3.程式示例

通過核心模組的形式展現

#include 

#include

#include

module_license("gpl");

module_author("caokaipeng");

module_description("add list");

module_version("v1.0");

struct score

;struct list_head score_head; //煉表頭結構

struct score stu1,stu2,stu3; //成員結構

struct list_head *pos; //迴圈指標

struct score *tmp; //儲存節點

int mylist_init()

return0;}

void mylist_exit()

module_init(mylist_init);

module_exit(mylist_exit);

載入核心模組 insmod list.ko

no1,english is 80,math is 81.

no2,english is 90,math is 91.

no3,english is 100,math is 101.

——————————————————

2017.12.15

00:21

將 MFC 應用程式移植到 Linux

第一種方法 找乙個類似mfc框架的程式庫。您可能仍然在維護用微軟基礎類庫 microsoft foundation classes mfc 構建的舊的 windows 應用程式,而現在卻有客戶要求 linux 版本,該怎麼辦呢?在您的團隊中可能有技術熟練的 mfc 開發人員,但如何達到加速 linu...

在應用程式中宿主MEF

在應用程式中宿主mef其實非常簡單,只需要建立乙個組合容器物件 compositioncontainer 的例項,然後將需要組合的部件 parts 和當前宿主程式新增到容器中即可。首先需要新增mef框架的引用,既system.componentmodel.composition.dll,詳細如下 塊...

在應用程式中操作NorFlash

相對於操作nandflash,操作norflash相對簡單,因為基本不需要考慮壞塊,norflash也沒有oob區域,也跟ecc沒有一毛錢關係。它的讀寫擦除相對容易。int dealwithnor unsigned int allsize 0 define maxpartitions 40 stru...