有如下3种写法:
- 将格式化字符串全部写在一行里:
printf("current link:%x,prev link:%x,next link:%x,stack eflags:%x,current eflags:%x,prev eflags:%x,next eflags:%x,old task pid:%d tid:%d,new task pid:%d tid:%d,timestamp:%i64x,cpurate:%i64x\r\n",...);
- 将超长格式化串拆开,用 '\'分割开:
printf("current link:%x,prev link:%x,next link:%x,stack eflags:%x,current eflags:%x,prev eflags:%x,next eflags:%x,\
old task pid:%d tid:%d,new task pid:%d tid:%d,timestamp:%i64x,cpurate:%i64x\r\n",...);
- 超长格式化串,每一行都用引号""包裹,后面加’\'分割开:
printf("saved cr3:%x,pid:%x,name:%s,level:%u,esp0:%x,ss0:%x,eip:%x,cs:%x,esp3:%x,ss3:%x,eflags:%x,link:%x,"
"loaded cr3:%x,pid:%x,name:%s,level:%u,esp0:%x,ss0:%x,eip:%x,cs:%x,esp3:%x,ss3:%x,eflags:%x,link:%x.\r\n\r\n",...);