看板 LinuxDev 關於我們 聯絡資訊
※ 引述《seele2dx (兄弟劍下無兄弟)》之銘言: : 小弟目前在修改 linux kernel中碰到一個問題 : 假如想要在kernel裡面增加一個我所需要的結構 : 例子如下: : struct test *P ; : function A (struct test *ptr) //預計要傳入上面的全域變數 P : { : ptr = (struct test *) kmalloc ( sizeof(struct test), GFP_KERNEL); 這裡最好加個檢查,看看是否有成功配置到記憶體 : memset ( *ptr, 0, sizeof(struct test) ); : ptr->a = xxxx; : ptr->b = qqqq; : ... 初始化 : } : 但是每次執行到該函式,系統便會當機。 : 請問對於kmalloc的實際運用,該如何才正確呢? 感謝 :) 另外,你的 *P 是全域變數的話,是可以直接在 function A 修改 如果要當參數傳入 function A,而且會修改到,應寫成 function A( struct test **ptr){ *ptr = kmalloc( ...) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.228.25