Linux下的输出格式

printk函数可以指定输出的优先级:
  KERN_EMERG"<0>"/*紧急事件消息,系统崩溃之前提示,表示系统不可用*/
  KERN_ALERT"<1>"/*报告消息,表示必须立即采取措施*/
  KERN_CRIT"<2>"/*临界条件,通常涉及严重的硬件或软件操作失败*/
  KERN_ERR"<3>"/*错误条件,驱动程序常用KERN_ERR来报告硬件的错误*/
  KERN_WARNING"<4>"/*警告条件,对可能出现问题的情况进行警告*/
  KERN_NOTICE"<5>"/*正常但又重要的条件,用于提醒。常用于与安全相关的消息*/
  KERN_INFO"<6>"/*提示信息,如驱动程序启动时,打印硬件信息*/
  KERN_DEBUG"<7>"/*调试级别的消息*/
  如果变量类型是 , 使用 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);



猜你喜欢

转载自blog.csdn.net/moruihong/article/details/7823876