C++模板基础

函数模板 先看几个简单的例子了解下函数模板是如何使用的: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 template<typename T> T max(T a, T b) { return b < a ? a : b; } max(1,2); // 隐式指定了模板实参

CSAPP第九章笔记之虚拟内存

虚拟内存 一个系统有很多进程,本质上每个进程都与其它进程共享主存。但是如果直接让每个进程自由访问整个物理内存,将非常危险且麻烦: 一个进程可能有

2021年度总结

2021年已经过去2天了,很惭愧现在才想起来写年终总结。一是因为懒,二来也是因为觉得无事可写。但因为今天心情比较低落的的缘故,不由又打开了电

编译安装GCC12

因为想用C++20标准的原因,所以要求使用GCC12。可是Ubuntu20默认的编译器是GCC9,于是只好自己编译安装一个 GCC trunk。 没想

CSAPP第三章笔记Part 2

在前面简单介绍了一些常见的汇编指令,接下来我们谈一下在程序执行中一个非常重要的概念:过程 过程是软件工程中一种重要的抽象。它使得我们可以复用之

CSAPP第三章笔记Part 1

程序的执行 虽然我们日常使用的编程语言多种多样,但对于计算机来说,其唯一能理解的无非就是二进制,即0和1而已。 CPU的工作流程基本可以看作为控

GDB基本使用笔记

GDB简介 gdb全称GNU Debugger,是一个支持多语言的调试工具。 使用 编译时启用debug symbol 1 gcc demo.c -g 开启GDB调试 1 gdb ./a.out 调试时加入参数