2011-11-24 93 views
5

我目前正在寫一個Linux內核模塊,我需要在我的函數,它看起來像一個處理va_list是否有支持`va_list`的`printk()`函數?

void blah(int flag, va_list va) { 
    ... 
    if (flag & BLAH_1) { 
     ... 
     printk(... va here ...); // where I need the printk() with va_list support 
     ... 
    } 
    ... 
} 

所以我需要一個printk()樣的功能,它支持可變參數。像​​到printf()

我Google'd爲vprintk,但沒有找到它的運氣。

回答

5

是的,這是可能的,你必須使用的函數是vprintk(格式字符串,va_list的); 你不必考慮緩衝區大小。只是簡單地使用它作爲printk。