生活随笔
收集整理的這篇文章主要介紹了
带参数的可加载模块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
宏MODULE_PARAM(var,type,right) 用于向模塊傳遞命令行參數。參數類型可以是整數、長整型、字符串等類型。
例1.2? 帶參數的內核模塊實例
代碼見光盤\src\1drivermodel\1-2module。本實例演示了如何向模塊傳遞整型、長整型、字符串型等參數。核心代碼如下所示:
static?int?itype=0; ?module_param(itype,?int,?0); ?static?int?btype?=?0; ?module_param(btype,?bool,?0); ?static?unsigned?char?ctype=0; ?module_param(ctype,?byte,?0); ?static?char?*stype=0; ?module_param(stype,?charp,?0); ?//模塊初始化 ?static?int?__init?demo_module_init(void) ?{ ?????printk("simple?module?init\n"); ?????printk("itype=%d\n",itype); ?????printk("btype=%d\n",btype); ?????printk("ctype=%d\n",ctype); ?????printk("stype='%s'\n",stype); ?????return?0; ?} ?//模塊卸載 ?static?void?__exit?demo_module_exit(void) ?{ ?????printk("simple?module?exit\n"); ?} ?module_init(demo_module_init); ?module_exit(demo_module_exit); ?
接下來編寫一個makefile文件,同例1.1。執行make后生成smodule.ko,運行結果如下:
[root@urbetter?/home]#?insmod??smodule.ko??itype=2?btype=1?ctype=0xAC?stype='a'?simple?module?init ?itype=2?btype=1?ctype=172?stype='a'?
總結
以上是生活随笔為你收集整理的带参数的可加载模块的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。