c - 如何打印void * ioremap_nocache()的返回值?

标签 c linux linux-kernel kernel linux-device-driver

我如何使用 printk 打印函数 ioremap_nocache 返回的地址值?

void * ioremap_nocache (unsigned long phys_addr, unsigned long size);  

http://mirror.linux.org.au/linux-mandocs/2.6.4-cset-20040312_2111/ioremap_nocache.html

我需要知道存储的虚拟地址的值以调试函数打开、读取和写入。

最佳答案

您可以同时使用 %lu%p 来打印指针。他们有不同的表现

void *pointer = ioremap_nocache(phys_addr, size);
unsigned long cast = pointer;
printk("%lu - %p", cast, pointer);    // '15294563 - 0x499602d2'

这也适用于 printf()

关于c - 如何打印void * ioremap_nocache()的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17707051/

相关文章:

c - 这些 C 宏 (protos, #x?, __unused) 的含义是什么?

linux - 如何遍历给定目录的所有子目录?

linux - 无法从 Ubuntu SSH 进入有线 SoC

linux - 文本文件中日期的grep用法

c - 进程上下文和定时器函数之间的同步

c - 对于没有任何文件系统的锁定 SD 卡,GetVolumeInformation() 不报告 FILE_READ_ONLY_VOLUME

javascript - 通过更改此伪代码也可以返回移动

c - C中的这段代码是什么意思?

c - 如何在 linux 内核中导出 init_mm

linux - 添加到无锁列表的尾部