摘要: 1.1 定义函数模板 1.2 使用函数模板 1.3 两阶段翻译 Two-Phase Translation 1.3.1 模板的编译和链接问题 1.4 多模板参数 1.4.1 引入额外模板参数作为返回值类型 1.4.2 让编译器自己找出返回值类型 1.4.3 将返回值声明为两个模板参数的公共类型 1. 阅读全文
posted @ 2022-11-16 12:02 arthurzyc 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 之前在看汇编的时候一直是肉眼看GCC -S的结果,缺点是很不直观,无法实时的看到寄存器的值,所以研究了下如何用GDB调试汇编。当然,写这篇文章更重要的一个目的是半年没有写博客了,博客要长草了。_ 我调试汇编的需求有几点: 能够单步进行汇编调试。 能够实时看到寄存器值的变化。 能够看到源代码和对应汇编 阅读全文
posted @ 2022-11-16 11:28 arthurzyc 阅读(1134) 评论(0) 推荐(0) 编辑
摘要: 人们一直追求CPU分支预测的准确率,论文Simultaneous Subordinate Microthreading (SSMT)中给了一组数据,如果分支预测的准确率是100%,大多数应用的IPC会提高2倍左右。 为了比较不同分支预测算法的准确率,有个专门的比赛:Championship Bran 阅读全文
posted @ 2022-11-16 11:21 arthurzyc 阅读(2995) 评论(0) 推荐(1) 编辑
摘要: 所有的stdio库函数,比如包括getchar/putchar/getc/putc之类的,都会经过stdio buffer: 如果从最简单的实现来说,可以把FILE结构体定义成下面这样 : typedef struct _iobuf{ int fd; //文件描述符 int cnt; //缓冲区剩余 阅读全文
posted @ 2022-11-16 11:15 arthurzyc 阅读(258) 评论(0) 推荐(0) 编辑