printk %pF %pS含义【转】

简介: 作者:啐楼链接:https://www.zhihu.com/question/37769890/answer/73532192来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
作者:啐楼
链接:https://www.zhihu.com/question/37769890/answer/73532192
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Symbols/Function Pointers:
%pF versatile_init+0x0/0x110
%pf versatile_init %pS versatile_init+0x0/0x110
%pSR versatile_init+0x9/0x110
(with __builtin_extract_return_addr() translation)
%ps versatile_init
%pB prev_fn_of_versatile_init+0x88/0x88
For printing symbols and function pointers. The 'S' and 's' specifiers result in the symbol name with ('S') or without ('s') offsets. Where this is used on a kernel without KALLSYMS - the symbol address is printed instead. The 'B' specifier results in the symbol name with offsets and should be used when printing stack backtraces. The specifier takes into consideration the effect of compiler optimisations which may occur when tail-call's are used and marked with the noreturn GCC attribute. On ia64, ppc64 and parisc64 architectures function pointers are actually function descriptors which must first be resolved. The 'F' and 'f' specifiers perform this resolution and then provide the same functionality as the 'S' and 's' specifiers.
【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
2月前
|
存储
底层文件操作的各种函数(二)------printf,fprintf,sprintf,scanf,fscanf,sscanf的对比以及文件缓冲区
底层文件操作的各种函数(二)------printf,fprintf,sprintf,scanf,fscanf,sscanf的对比以及文件缓冲区
59 2
|
7月前
|
算法 Unix Linux
select函数中的文件描述符(File Descriptor)范围
select函数中的文件描述符(File Descriptor)范围
97 0
select函数中的文件描述符(File Descriptor)范围
|
7月前
|
编译器 C++
offsetof宏的使用、模拟实现及 (size_t)&(((struct_type*)0)->mem_name)的解释
offsetof宏的使用、模拟实现及 (size_t)&(((struct_type*)0)->mem_name)的解释
|
Linux
Linux系统调用六、stat函数与 struct stat 文件信息结构体深度刨析(三)
Linux系统调用六、stat函数与 struct stat 文件信息结构体深度刨析
353 0
Linux系统调用六、stat函数与 struct stat 文件信息结构体深度刨析(三)
|
NoSQL Linux 开发工具
Linux系统调用六、stat函数与 struct stat 文件信息结构体深度刨析(二)
Linux系统调用六、stat函数与 struct stat 文件信息结构体深度刨析
227 0
Linux系统调用六、stat函数与 struct stat 文件信息结构体深度刨析(二)
|
Linux
Linux系统调用六、stat函数与 struct stat 文件信息结构体深度刨析(一)
Linux系统调用六、stat函数与 struct stat 文件信息结构体深度刨析
236 0
Linux系统调用六、stat函数与 struct stat 文件信息结构体深度刨析(一)
系统编程之文件IO(六)——获取文件属性(stat、fstat、lstat、struct stat)
系统编程之文件IO(六)——获取文件属性(stat、fstat、lstat、struct stat)
162 0
系统编程之文件IO(六)——获取文件属性(stat、fstat、lstat、struct stat)
|
存储 数据安全/隐私保护 开发者
Stat 结构体 | 学习笔记
快速学习 Stat 结构体
121 0
|
网络协议 Linux API
PF_RING实现分析(2)
4、mmap操作 用户态的接下来调用: ring->buffer = (char *)mmap(NULL, PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, ring->fd, 0); 复制代码 进行内存映射。 同样地,内核调用相应的ring_mmap进行处理。 Ring选项结构通过ring_sk宏与sk 建立关联 struct ring_opt *pfr = ring_sk(sk); 复制代码
426 0
|
存储 Linux API
PF_RING实现分析(1)
内核版本:Linux 2.6.30.9 PF_RING版本:4.1.0 最近看了一个PF_RING的实现,看了个大概,发上来大家讨论讨论,共同学习。 一、什么是PF_RING PF_RING是一个第三方的内核数据包捕获接口,类似于libpcap。 二、为什么需要PF_RING 一切为了效率,按照其官方网站上的测试数据,在Linux平台之上,其效率至少高于libpcap 50% - 60%,甚至是一倍。更好的是,PF_RING提供了一个修改版本的libpcap,使之建立在PF_RING接口之上。这样,原来使用libpcap的程序,就可以自然过渡了。
715 0