linux cmdline參數解析

我們可以通過 cat /proc/cmdline來獲取內核的命令行參數,但是每個參數是怎麼在代碼解析的, 以slub爲例,在源碼中有如下代碼:

__setup("slub_min_order=", setup_slub_min_order);

__setup("slub_max_order=", setup_slub_max_order);

__setup("slub_min_objects=", setup_slub_min_objects); 

__setup("slub_nomerge", setup_slub_nomerge);


static int __init setup_slub_min_order(char *str)
{
        get_option(&str, &slub_min_order);               <====可以通過get_option函數來獲取參數值

        return 1;
}


__setup是個宏, 第一個參數爲命令行中的字符串,第二個參數爲參數的處理函數, 如果命令行參數中有匹配的字符串,則調用相應的處理函數來解析, 進而可以通過命令行參數來控制某些模塊的行爲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章