printk在内核中的实现代码如下。
asmlinkage int printk(const char *fmt, ...)
{
va_list args;
int r;
/*将fmt后的参数信息保存到args中*/
va_start(args, fmt);
{
va_list args;
int r;
/*将fmt后的参数信息保存到args中*/
va_start(args, fmt);
/*处理printk流程的主要函数*/
r = vprintk(fmt, args);
r = vprintk(fmt, args);
/*va_end函数貌似是空函数*/
va_end(args);
va_end(args);
return r;
}
}