如何打印void*ioremap\u nocache()的返回值?
如何使用printk打印函数ioremap_nocache返回的地址值如何打印void*ioremap\u nocache()的返回值?,c,linux,linux-kernel,kernel,linux-device-driver,C,Linux,Linux Kernel,Kernel,Linux Device Driver,如何使用printk打印函数ioremap_nocache返回的地址值 void * ioremap_nocache (unsigned long phys_addr, unsigned long size); 我需要知道为调试函数打开、读取和写入而存储的虚拟地址的值。您可以使用以下命令 unsigned long x = ioremap_nocache (addr, size); printk(" %lu",x); 您可以使用以下命令 unsigned long x = ior
void * ioremap_nocache (unsigned long phys_addr, unsigned long size);
我需要知道为调试函数打开、读取和写入而存储的虚拟地址的值。您可以使用以下命令
unsigned long x = ioremap_nocache (addr, size);
printk(" %lu",x);
您可以使用以下命令
unsigned long x = ioremap_nocache (addr, size);
printk(" %lu",x);
您可以同时使用
%lu
或%p
打印指针。他们有不同的代表性
void *pointer = ioremap_nocache(phys_addr, size);
unsigned long cast = pointer;
printk("%lu - %p", cast, pointer); // '15294563 - 0x499602d2'
这也适用于
printf()
您可以使用%lu
或%p
打印指针。他们有不同的代表性
void *pointer = ioremap_nocache(phys_addr, size);
unsigned long cast = pointer;
printk("%lu - %p", cast, pointer); // '15294563 - 0x499602d2'
这也适用于
printf()
一个unsigned long
需要%lu
。一个unsigned long
需要%lu
。谢谢,我选择使用%p更有用,因为它不会更改变量的定义。谢谢,我选择使用%p更有用,因为它不会改变变量的定义