ubuntu動態載入模組簡單模板

2021-06-16 14:35:16 字數 1730 閱讀 2503

1:簡單**

#include#include

module_license(

"gpl");

module_author(

"jiuyueguang");

module_description(

"****** module driver");

static

int hello_init(void

)static

void hello_exit(void

)module_init(hello_init);

module_exit(hello_exit);

2:檢視printk輸出資訊

dmesg | tail

3:帶引數型別的模組簡單**

#include#include

module_license(

"gpl");

module_author(

"jiuyueguang");

module_description(

"****** module driver");

static

char *name="

no name";

static

int age=0

;static

int hello_init(void

)static

void hello_exit(void

)module_init(hello_init);

module_exit(hello_exit);

module_param(name,charp,s_irugo);

module_param(age,

int,s_irugo);

安裝帶引數的模組:

sudo insmod hello_param.ko

安裝的時候沒有加引數,採用程式中的預設值輸出:

hello word name=no name and age=0

安裝的時候加引數:

sudo insmod hello_param.ko name='

jiuyueguang

' age=25

輸出:

hello word name=jiuyueguang and age=25

4:我自己的makefile

ifeq ($(kernelrelease),)

kerneldir ?= /lib/modules/$(shell uname -r)/build

pwd :=$(shell pwd)

modules:

$(make) -c $(kerneldir) m=$(pwd) modules

modules_install:

$(make) -c $(kerneldir) m=$(pwd) modules_install

clean:

rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions module* module* a.out

.phony: modules modules_install clean

else

obj-m :=hello_param.o //每次修改這裡就夠了

endif

nginx實現簡單模組開發

需要的預備知識不多,有如下幾點 有過一些 c 語言的程式設計經歷 知道 nginx 是幹嘛的,並有過編寫或改寫 nginx 的配置檔案的經歷。ok,就這兩點就夠了 好了,那就開始吧 我們的目標,就是你在瀏覽器裡輸入http localhost hello world時,顯示 hello world當...

RequireJs打包簡單模組打包

本文講解的是requirejs對檔案合併與壓縮的實現方法。requirejs提供了乙個打包與壓縮工具r.js,r.js的壓縮工具使用uglifyjs進行壓縮的。requirejs對互相依賴模組進行合併與壓縮,可以對js,css壓縮,甚至可以對整個專案進行打包。r.js是基於nodejs的,所以本機電...

Lua動態載入模組

function reload modulename package.loaded modulename nil require modulename end 使用以上 即可重新載入乙個檔案。這樣修改完lua 後,可以不用重啟程式立刻生效。模組a a function a.test1 print 1...