读书人

printk函数的运用

发布时间: 2012-07-02 17:46:22 作者: rapoo

printk函数的使用

如果变量类型是 , 使用 prink 的格式说明符 :

  int? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %d 或者 %x( 注: %d 是十进制, %x 是十六进制 )

  unsigned int? ? ? ? ? ? ? ? ? ? ? ? %u 或者 %x

  long? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %ld 或者 %lx

  unsigned long? ? ? ? ? ? ? ? ? ? ? ? %lu 或者 %lx

  long long? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %lld 或者 %llx

  unsigned long long? ? ? ? ? ? ? ? %llu 或者 %llx

  size_t? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %zu 或者 %zx

  ssize_t ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %zd 或者 %zx

  原始指针值必须用 %p 输出。

  u64,即(unsigned long logn),必须用 %llu 或者 %llx 输出,如:

  printk("%llu", (unsigned long long)u64_var);

  s64,即(long long),必须用 %lld 或者 %llx 输出,如 :

  printk("%lld", (long long)s64_var);

  如果 ( 变量类型 )<type> 的长度依赖一个配置选项 ( 例如: sector_t, blkcnt_t, phys_addr_t, resource_size_t) 或者 依赖相关的体系结构(例如: tcflag_t ),使用一个可能最大类型的格式说明符,并且显示转换它。如:

  printk("test: sector number/total blocks: %llu/%llu\n",(unsigned long long)sector, (unsigned long long)blockcount);

读书人网 >操作系统

热点推荐