对于Linux内核使用pr_err/pr_debug/printk/pr_info打印对应变量时,经常会遇到一些打印格式的错误,内核在编译时发现打印格式不匹配时,会报出相应的error错误。
%p
可以匹配对应类型的指针地址,输出以16进制表示,会自带前缀0x
%x
可以对应int类型的指针,输出以16进制输出,不会自带前缀0x
int类型:
%d 或者 %x( 注: %d 是十进制, %x 是十六进制 )
u32 /unsigned int 类型:
%u 或者 %x
long 类型:
%ld 或者 %lx
unsigned long类型:
%lu 或者 %lx
s64 或者 long long类型:
%lld 或者 %llx
u64 或者 unsigned long long 类型:
%llu 或者 %llx
size_t类型:
%zu 或者 %zx
ssize_t 类型:
%zd 或者 %zx