linux 驅動 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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM