萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux--Linux內核模塊編程--啟動參數在線閱讀

Linux--Linux內核模塊編程--啟動參數在線閱讀

 啟動參數
  在前面的很多例子中,我們不得不硬性的將一些東西寫如內核模塊,例如在 /proc 中的文件名或設備的主設備號,因此我們可以對它 ioctl。 這和 Unix及 Linux的編寫用戶可以定制的靈活的程序精神是相矛盾的。
  在程序或內核模塊能開始工作之前告訴它一些需要的東西的辦法是通過命令行參數。在內核模塊的情況下,我們不能得到 argc 和 argv -- 代替的,我們得到更好的東西。我們可以在內核模塊中定義全局變量並且 insmod將為我們填充它們。
  在這個內核模塊中,我們定義了兩個: str1 和 str2。你所需要做的全部就是編譯那個內核模塊然後用insmod str1=xxx str2=yyy運行它。當init_module 被調用,str1 將指向字符串‘xxx’, str2 將指向‘yyy’。
  在 2.0 版中對這些參數6.1沒有類型檢查。如果str1 或 str2 的第一個字符是數字,內核將用整數值填充變量而不是字符串指針。如果是在實際的情形下你需要檢查這個。
  另一方面,在 2.2 版中你用宏 MACRO_PARM 告訴 insmod 你期待一個參數,它的名字和類型 。這解決了類型的問題並且允許內核模塊接收以數字開始的字符串。


copyright © 萬盛學電腦網 all rights reserved