您好🖐️,欢迎来到我的个人知识主页!🌞
我是**袁海桃** 🍑,一名 26 届的**应届硕士生**,本硕均就读于广州的 **华南理工大学**,计算机科班保研本校,
当前正在寻求 **C++ 后端开发** 相关的暑期实习机会,可 **5 月入职实习至 10 月**~ 🌟
如果您正在预期招聘一个**热爱开发、富有钻研精神、积极主动、强自驱力**的**潜力股学生**,十分希望您能给我一个面试机会🙏!
硕士阶段,我主要跟随导师聚焦**机器学习&深度学习**相关的应用研究,尝试过**金融时序预测**、**图网络推荐**方向,曾在**微信**做过半年的**推荐算法实习生**(科研型)。
在这过程中,我**清醒地意识到自己真正热衷于开发**,更喜欢 C++这样接近底层的语言,更爱好编程实践,因此希望自己未来职业生涯能够在 C++ 开发领域深耕发展!
由于是从算法转开发,我目前还没有 C++开发的实习经历,暂未接触过工业界实践,非常渴望能有一个锻炼自我的成长机会,期待加入优秀的团队,与优秀 Coder 并肩成长!
这个网站呈现了我对于计算机基础知识的学习笔记,涵盖 C++、计网、OS、数据库、数据结构、开发工具集等,
希望能让您更多地了解我的知识储备与学习习惯!(✒️关键字总结为:**电子笔记**、**系统化&易扩展的知识体系**)
笔记来自于不同时期,受限于个人当下认知,可能会存在一些错误理解,让您见笑了~😅
该网页左侧边栏为**笔记目录**,左上方支持按关键词搜索;右侧为当前笔记页的**标题大纲**,可滚动查看。
为了向您直观展示我的笔记组织,下方按板块罗列了笔记清单,
每个**文件图标**(例如 [[02-开发笔记/07-计算机网络/传输层/TCP 协议|TCP 协议]])都**链接到一份独立的笔记页面**,可点击跳转。
感谢您的阅览!🌻
<br>
<br>
# (1)C++ 相关
###### 基础
- 声明说明符
- [[cpp-存储类说明符]]:存储类说明符(`static`,`extern`,`thread_local`,`register` )、存储持续性、链接性(内、外部)
- [[02-开发笔记/01-cpp/cpp 基本概念/cpp-cv限定符|cpp-cv限定符]]:const(顶层、底层 const)、volatile
- [[02-开发笔记/01-cpp/cpp 基本概念/cpp-constexpr 说明符|cpp-constexpr 说明符]]:constexpr、consteval、constinit
- [[02-开发笔记/01-cpp/cpp 基本概念/cpp-inline 说明符|cpp-inline 说明符]]: 内联变量、内联函数
- 初始化
- [[02-开发笔记/01-cpp/cpp 基本概念/cpp-初始化声明|cpp-初始化声明]] :默认初始化、值初始化、零初始化、拷贝初始化、列表初始化等,静态变量的初始化机制
- [[02-开发笔记/02-c/c-初始化相关|c-初始化相关]]:指定初始化
- 其他
- [[02-开发笔记/01-cpp/预处理相关/cpp-宏|cpp-宏]]:宏定义、条件编译
- [[02-开发笔记/01-cpp/预处理相关/cpp-头文件说明|cpp-头文件说明]]:头文件引入、解决循环引用、分离式编译、使用建议
- [[02-开发笔记/01-cpp/cpp 基本概念/cpp-编译时名称查找|cpp-编译时名称查找]]:编译时名称查找顺序、名称隐藏
- [[02-开发笔记/01-cpp/cpp 基本概念/cpp-命名空间|cpp-命名空间]]:全局命名空间、内联命名空间、匿名命名空间、using 声明与 using namespace 指示、命名冲突报错
- [[02-开发笔记/01-cpp/cpp 基本概念/cpp-表达式|cpp-表达式]]: 表达式的值类别与值类型(lvalue, rvalue, xvalue)、常量表达式、字面量
###### 类型相关
- 类型系统
- [[02-开发笔记/01-cpp/类型相关/cpp-类型别名|cpp-类型别名]]:`using` 与 `typedef`;
- [[02-开发笔记/01-cpp/类型相关/cpp-类型转换|cpp-类型转换]]:标准转换(窄化转换)、用户定义转换、强制类型转换、隐式类型转换
- [[02-开发笔记/01-cpp/类型相关/cpp-类型推导|cpp-类型推导]]:类型推导规则、`auto`、`decltype`、`typeid`、结构化绑定
- 复合类型
- [[02-开发笔记/01-cpp/类型相关/cpp-数组相关|cpp-数组相关]]:静态数组、动态数组、字符数组
- [[02-开发笔记/01-cpp/类型相关/cpp-指针相关|cpp-指针相关]]:pointer to const & const pointer、数组指针与指针数组、字符指针、函数指针、类成员指针与成员函数指针
- [[02-开发笔记/01-cpp/类型相关/cpp-引用相关|cpp-引用相关]]: 左值引用、`const` 左值引用、右值引用、引用折叠、转发引用/万能引用、移动语义、完美转发;
- 用户定义数据类型
- [[02-开发笔记/01-cpp/类型相关/cpp-结构体 Struct|cpp-结构体 Struct]] :struct 与 class 区别
- [[02-开发笔记/01-cpp/类型相关/cpp-位域 bit-field|cpp-位域 bit-field]]:位域定义、位域内存布局
- [[02-开发笔记/01-cpp/类型相关/cpp-联合体 Union|cpp-联合体 Union]]:union 初始化与赋值、匿名 union
- [[02-开发笔记/01-cpp/类型相关/cpp-枚举类型 Enumeration|cpp-枚举类型 Enumeration]] :限定/未限定作用域枚举、枚举值、枚举前置声明、匿名枚举类型
###### 函数相关
- [[02-开发笔记/01-cpp/函数相关/cpp-函数相关|cpp-函数相关]]: 函数参数、函数返回类型、函数声明、函数类型、函数签名、函数重载、谓词、`noexcept` 说明符
- [[02-开发笔记/02-c/c-函数相关|c-函数相关]]:可变参数、`void*` 形参或返回类型、`restrict` 关键字
- [[02-开发笔记/01-cpp/函数相关/cpp-可调用对象|cpp-可调用对象]]:lambda、函数对象、function 对象、bind 函数参数绑定、reference 包装器
###### 动态内存管理
- [[02-开发笔记/01-cpp/内存管理/cpp-动态内存管理|cpp-动态内存管理]] :malloc/free 函数、new/delete 表达式、定位 new、memcpy 等内存操作
- [[02-开发笔记/01-cpp/内存管理/cpp-allocator|cpp-allocator]] :`std::allocator<T>` 分配器、`std::allocator_traits<>` 模版类
- [[02-开发笔记/01-cpp/内存管理/cpp-智能指针|cpp-智能指针]]:`unique_ptr<>`、`shared_ptr<>`、`weak_ptr<>`、删除器
###### 类与对象
- 类相关
- [[02-开发笔记/01-cpp/类与对象/cpp-类的基本概念|cpp-类的基本概念]]:类的定义(访问说明符、成员)、类的前向声明
- [[02-开发笔记/01-cpp/类与对象/cpp-类的数据成员|cpp-类的数据成员]]:数据成员的初始化、静态数据成员、可变数据成员
- [[02-开发笔记/01-cpp/类与对象/cpp-类成员函数的基本说明|cpp-类成员函数的基本说明]]:`this` 指针、成员函数定义方式、各种说明符与限定符(`inline`、`static`、`const` 等)
- [[02-开发笔记/01-cpp/类与对象/cpp-类的成员函数|cpp-类的成员函数]] :构造函数、析构函数、运算符重载、转换函数
- [[02-开发笔记/01-cpp/类与对象/cpp-对象模型|cpp-对象模型]] :类实例对象的内存模型、内存大小
- [[02-开发笔记/01-cpp/类与对象/cpp-类的友元|cpp-类的友元]]
- [[02-开发笔记/01-cpp/类与对象/cpp-特殊类|cpp-特殊类]]:聚合类、字面值常量类、嵌套类、局部类
- [[02-开发笔记/01-cpp/内存管理/RAII 范式|RAII 范式]]
- 面向对象编程 OOP:
- [[02-开发笔记/01-cpp/类与对象/cpp-继承|cpp-继承]]:派生访问说明符、派生类与基类间的初始化构造及拷贝控制、派生类与基类的类型转换、虚继承、using 声明的作用
- [[02-开发笔记/01-cpp/类与对象/cpp-多态|cpp-多态]]:动态绑定、虚函数、虚函数表与虚指针、纯虚函数与抽象类
- [[02-开发笔记/01-cpp/类型相关/运行时类型识别 RTTI|运行时类型识别 RTTI]]:动态类型与静态类型、RTTI
###### 模版与泛型编程
- 模版相关
- [[02-开发笔记/01-cpp/模版与泛型编程/cpp-模版基本概念|cpp-模版基本概念]] :模版声明与定义、模版实例化、模版特例化、模版参数、模版参数推断、`typenname` 关键字作用
- [[02-开发笔记/01-cpp/模版与泛型编程/cpp-模版类别|cpp-模版类别]]: 别名模版、函数模版、类模版、成员模版、变量模版
- [[02-开发笔记/01-cpp/模版与泛型编程/cpp-type_traits 头文件|cpp-type_traits 头文件]]:类型转换模版、类型判断模版
###### 输入输出相关(I/O 流)
- [[02-开发笔记/01-cpp/输入输出相关/cpp-IO类说明|cpp-IO类说明]]:IO 库、IO 类的继承体系、IO 类关联的缓冲区、 IO 条件状态标志位、格式标志位、IO 操纵符(manipulator)
- [[02-开发笔记/01-cpp/输入输出相关/cpp-输入输出处理|cpp-输入输出处理]] :IO 流操作、输入流总结、fstream 文件流、sstream 字符流
- [[02-开发笔记/02-c/c-输入输出相关|c-输入输出相关]]:`FILE*` 文件指针、非格式化 I/O、格式化 I/O
###### 异常机制
- [[02-开发笔记/01-cpp/异常处理相关/cpp-异常处理|cpp-异常处理]]
###### 标准库相关
- [[02-开发笔记/01-cpp/库使用/0-MOC-标准库头文件总结|0-MOC-标准库头文件总结]]:C 标准库头文件、C++标准库头文件、POSIX 头文件
- [[02-开发笔记/01-cpp/库使用/STL 标准模版库|STL 标准模版库]] :容器、容器适配器、迭代器、迭代器适配器、pair、tuple
- [[02-开发笔记/01-cpp/库使用/cpp-随机数|cpp-随机数]] :`rand()` 随机数、随机数引擎类、随机数分布类
- [[02-开发笔记/01-cpp/多线程并发相关/cpp-多线程&同步|cpp-多线程&同步]]:线程对象、互斥量、条件变量、异步任务、原子操作
###### 编译器相关
- [[02-开发笔记/01-cpp/编译器相关/cpp-编译器优化|cpp-编译器优化]] :拷贝省略、RVO 优化、常量传播
---
<br><br>
# (2)OS 相关
###### 基础
- [[02-开发笔记/05-操作系统/操作系统基本概念|操作系统基本概念]]:OS 中的虚拟化思想、用户态与内核态、系统调用
- [[02-开发笔记/05-操作系统/异常与中断|异常与中断]]:中断机制&中断处理流程、硬件中断与软件中断、trap 指令
###### 内存管理
- [[02-开发笔记/05-操作系统/内存管理/虚拟内存管理|虚拟内存管理]]:地址翻译、分段、分页 & 多级页表、缺页异常、内存碎片、swap 交换空间
- [[02-开发笔记/03-计算机基础/机器视角下的进程|机器视角下的进程]]:
- 进程的虚拟内存空间布局、运行时栈
- 常见程序错误: 栈溢出、缓冲区溢出(栈缓冲区溢出、堆缓冲区溢出)、段错误
###### 进程管理
- [[02-开发笔记/05-操作系统/进程管理/进程基础概念|进程基础概念]]:进程状态、进程控制块 PCB、进程创建/终止/回收/加载、Linux 下进程控制相关 API、进程打开的文件
- [[02-开发笔记/05-操作系统/进程管理/进程间通信方式|进程间通信方式]]:管道、消息队列、共享内存、信号量、信号
- [[02-开发笔记/05-操作系统/进程管理/共享内存|共享内存]]:内存映射 mmap、POSIX 共享内存
###### 多线程并发
- [[02-开发笔记/05-操作系统/并发相关/线程基础概念|线程基础概念]]: 什么是线程、进程与线程的区别、线程控制块 TCB、线程私有资源、线程上下文切换
- [[02-开发笔记/05-操作系统/并发相关/并发与并行|并发与并行]]:并发与并行
- [[02-开发笔记/05-操作系统/并发相关/同步原语|同步原语]] :锁、条件变量、信号量、原子操作
- [[02-开发笔记/05-操作系统/并发相关/常见并发问题|常见并发问题]]:条件竞争、死锁
---
<br><br>
# (3)Linux 环境编程
###### Linux 相关
- [[02-开发笔记/11-Linux/Linux 文件系统基本概念|Linux 文件系统基本概念]]
- 文件系统布局、inode、目录、软链接与硬连接、文件类型
- 虚拟文件系统、伪文件系统(proc 与 sysfs)
- Buffer 与 Page Cache、Write-back 回写策略
- 文件系统类型
- [[02-开发笔记/11-Linux/Linux 目录树与文件系统挂载|Linux 目录树与文件系统挂载]] :Linux 目录树、文件系统挂载、硬盘使用(分区、格式化、挂载)
- [[02-开发笔记/11-Linux/shell 相关/Linux-环境变量与配置文件|Linux-环境变量与配置文件]]:登录配置文件、shell 配置文件、登录 shell 与交互式 shell
- [[02-开发笔记/11-Linux/Linux 信号机制|Linux 信号机制]]:常用信号、信号发送、信号处理、信号屏蔽
- [[02-开发笔记/11-Linux/Linux 权限管理|Linux 权限管理]]:用户与组、文件权限
- [[02-开发笔记/11-Linux/Linux 软件管理|Linux 软件管理]]:dpkg、apt
- [[02-开发笔记/11-Linux/Linux-终端 terminal|Linux-终端 terminal]]:终端、控制台、虚拟控制台、终端模拟器、伪终端介绍
###### shell 相关
- [[02-开发笔记/11-Linux/shell 相关/shell 基本说明|shell 基本说明]]:shell 与 bash、shell 内部命令、shell 作业控制
- [[02-开发笔记/11-Linux/shell 相关/shell 变量|shell 变量]]
- [[02-开发笔记/11-Linux/shell 相关/shell 脚本|shell 脚本]]:shell 脚本基本语法、解释器文件
- [[02-开发笔记/11-Linux/shell 相关/shell-输入输出与重定向|shell-输入输出与重定向]]:标准 IO、文件描述符、输入输出重定向、管道 Pipe、进程替换
###### Linux 命令行
- [[02-开发笔记/11-Linux/Linux 命令行/Linux-命令行基本使用|Linux-命令行基本使用]]:帮助手册、命令列表、命令替换、条件执行、shell 选项设置、shell 变量操作、历史命令
- [[02-开发笔记/11-Linux/Linux 命令行/Linux-文件与目录相关命令|Linux-文件与目录相关命令]]:文件&目录&链接管理、文件打包/压缩/解压、文件权限管理、文件内容查看
- [[02-开发笔记/11-Linux/Linux 命令行/Linux-系统信息相关命令|Linux-系统信息相关命令]]:`/proc/*` 相关、`ulimit`、`lsof` 等
- [[02-开发笔记/11-Linux/Linux 命令行/Linux-进程相关命令|Linux-进程相关命令]]:进程相关(`pgrep`, `kill`, `pkill`)、后台作业(`&`, `jobs`, `nohup`)、`top`、`ps`
- [[02-开发笔记/11-Linux/Linux 命令行/Linux-网络相关命令|Linux-网络相关命令]]:`ip *` 系列命令、网络状态相关(`ss`/`netstat`)、DNS 解析(`dig/nslookup`)、`ping`、`nc`
- [[02-开发笔记/11-Linux/Linux 命令行/Linux-文件系统与磁盘管理相关命令|Linux-文件系统与磁盘管理相关命令]]:文件系统挂载 `mount`,`umount` 、磁盘空间使用情况 `df` 、磁盘分区 `fdisk`、块设备使用情况 `lsblk`
###### Linux 环境编程
- [[02-开发笔记/99-Unix 环境编程/文件 IO|文件 IO]]:C、C++、POSIX 文件 IO 相关 API
- [[02-开发笔记/99-Unix 环境编程/高级 IO|高级 IO]]:阻塞/非阻塞 IO、同步/异步 IO、IO 多路复用
- [[02-开发笔记/99-Unix 环境编程/时钟 API|时钟 API]]:C、C++、POSIX 时钟相关 API、timerfd
- [[02-开发笔记/99-Unix 环境编程/事件驱动模型|事件驱动模型]]:Reactor 模型、eventfd
- 多线程并发 & 同步 API
- [[02-开发笔记/05-操作系统/并发相关/POSIX 线程&同步 API|POSIX 线程&同步 API]]:POSIX 线程&同步原语 `<pthread.h>` 、POSIX 信号量 `<semaphore.h>`
- [[02-开发笔记/01-cpp/多线程并发相关/cpp-多线程&同步|cpp-多线程&同步]]: C++标准库 `<thread>`, `<mutex>`,`<condition_variable>`, `<future>` 等
<br><br>
# (4)计算机网络相关
###### 应用层
- [[02-开发笔记/07-计算机网络/应用层/域名 & URL & URI|域名 & URL & URI]]
- [[02-开发笔记/07-计算机网络/应用层/HTTP 协议|HTTP 协议]] :HTTP/1.1, 2, 3 协议、HTTPS 协议、HTTP 报文格式、HTTP 头部、HTTP 请求方法、状态码
- [[02-开发笔记/07-计算机网络/应用层/DNS 相关|DNS 相关]] :DNS 服务器、DNS 域名解析流程、DNS 缓存、hosts 文件
- [[02-开发笔记/07-计算机网络/应用层/代理协议与代理工具|代理协议与代理工具]] :SOCKS 代理协议、SS/SSR、V2Ray、Clash 代理工具
- [[02-开发笔记/07-计算机网络/应用层/SSH 协议|SSH 协议]]
- [[02-开发笔记/07-计算机网络/应用层/电子邮件相关协议|电子邮件相关协议]]:SMTP、POP3、IMAP 协议
###### 传输层
- [[02-开发笔记/07-计算机网络/传输层/TCP 协议|TCP 协议]] :TCP 报文、三次握手&四次挥手、滑动窗口机制(流量控制)、确认应答机制、重传机制(超时 & 快速)、拥塞控制
- [[02-开发笔记/07-计算机网络/传输层/UDP 协议|UDP 协议]]: UDP 报文、TCP 与 UDP 区别
- [[02-开发笔记/07-计算机网络/传输层/SSL & TLS 协议|SSL & TLS 协议]]: TLS 1.2/1.3 握手过程、密钥交换(RSA/ECDHE)、数字证书
###### 网络层
- 路由转发
- [[02-开发笔记/07-计算机网络/网络层/路由转发|路由转发]]:路由转发流程、路由表
- [[02-开发笔记/07-计算机网络/网络层/网络地址转换 NAT|网络地址转换 NAT]] :NAT 工作原理
- IP 协议
- [[02-开发笔记/07-计算机网络/网络层/IP 协议|IP 协议]] :公网 & 私网地址,IPv4、IPv6 数据报
- [[02-开发笔记/07-计算机网络/网络层/IPv4 编址|IPv4 编址]] :分类编址、CIDR、子网掩码、子网划分、路由聚合
- [[02-开发笔记/07-计算机网络/网络层/IPv6 编址|IPv6 编址]]
- 其他相关协议
- [[02-开发笔记/07-计算机网络/应用层/DHCP 协议|DHCP 协议]]
- [[02-开发笔记/07-计算机网络/网络层/ICMP 协议|ICMP 协议]]:ICMP 报文格式、报文类型;ping 原理、traceroute 原理
- [[02-开发笔记/07-计算机网络/数据链路层/ARP 协议|ARP 协议]] :ARP 地址解析过程、ARP 缓存表
###### 总结/其他
- [[02-开发笔记/07-计算机网络/总结/网络通信标识总结|网络通信标识总结 ]] :MAC 地址、IP 地址、端口号、Socket 标识
- [[02-开发笔记/07-计算机网络/总结/协议数据单元 PDU 总结|协议数据单元 PDU 总结]]:
- 各层 PDU 及其封装:HTTP 报文、TCP 报文段、UDP 数据报、IP 数据报、帧
- 数据包拆分:MSS 与 TCP 分段、MTU 与 IP 分片
- [[02-开发笔记/07-计算机网络/总结/网络上两台主机之间的通信过程|网络上两台主机之间的通信过程]] :二层与三层通信、数据包中 IP 地址和 MAC 地址的变化
- [[02-开发笔记/07-计算机网络/总结/网络设备总结|网络设备总结]] :网卡、网线、集线器、网桥、交换机、路由器、Modem、光纤终端盒
- [[05-工具/网络相关工具/思科 Cisco Packet Tracer/Cisco Packet Tracer 工具|Cisco Packet Tracer 工具]]:组网示例、路由器配置说明
---
<br><br>
# (5)数据库相关
- SQL/MySQL 基本语法
- [[02-开发笔记/08-数据库/SQL 语句|SQL 语句]]:数据定义 DDL、数据操作 DML、数据查询 DQL
- [[02-开发笔记/08-数据库/SQL 数据库对象|SQL 数据库对象]]: 存储程序、游标、触发器、事件
- MySQL 相关
- [[02-开发笔记/08-数据库/MySQL 相关/MySQL InnoDB 引擎|MySQL InnoDB 引擎]]:数据存储层次、数据页、Buffer Pool、B+树索引实现(聚簇索引&二级索引、索引覆盖、最左匹配、索引下推)、倒排索引实现
- [[02-开发笔记/08-数据库/MySQL 相关/MySQL 索引|MySQL 索引]]: 主键索引、唯一索引、普通索引、前缀索引、全文索引、哈希索引、EXPLAIN 执行计划
- [[02-开发笔记/08-数据库/MySQL 相关/MySQL 锁|MySQL 锁]]:表锁(元数据锁、意向锁、自增锁)、行锁(记录锁、间隙锁、临键锁)
- [[02-开发笔记/08-数据库/MySQL 相关/MySQL 事务|MySQL 事务]]:事务 ACID、隔离级别、快照读与当前读、MVCC、事务管理命令
- [[02-开发笔记/08-数据库/MySQL 相关/MySQL 日志|MySQL 日志]]: Server 层日志:binlog、relay log 等;InnoDB 存储引擎层日志:undo log、redo log;
---
<br><br>
# (6)数据结构与算法
![[99-发布/0-MOC-数据结构与算法(publish)|0-MOC-数据结构与算法(publish)]]
<br><br>
# (7)设计模式
- 创建型模式:
- [[02-开发笔记/16-设计模式/工厂模式|工厂模式]]:工厂方法模式、抽象工厂模式
- [[02-开发笔记/16-设计模式/单例模式|单例模式]]
- 结构型模式:
- [[02-开发笔记/16-设计模式/装饰器模式|装饰器模式]]
- 行为型模式:
- [[02-开发笔记/16-设计模式/策略模式|策略模式]]
- [[02-开发笔记/16-设计模式/观察者模式|观察者模式]]
---
<br><br>
# (8)计算机基础相关
###### 数值表示
- 数值表示
- [[02-开发笔记/03-计算机基础/数据的编码表示/有符号整数的表示|有符号整数的表示]]:有符号整数的表示(真值、原码、反码、补码)
- [[02-开发笔记/03-计算机基础/数据的编码表示/无符号整数的表示|无符号整数的表示]]
- [[02-开发笔记/03-计算机基础/数据的编码表示/浮点数的表示|浮点数的表示]]:定点数与浮点数、IEEE 754 浮点数标准
- [[02-开发笔记/03-计算机基础/数据的编码表示/Unicode字符编码|Unicode字符编码]]:ASCII 码、Unicode、UTF-8/16/32 编码方式、GBK 编码、常见乱码问题
- 数值转换
- [[02-开发笔记/03-计算机基础/数据的编码表示/有符号数与无符号数的转换|有符号数与无符号数的转换]]:有符号数与无符号数混用时的常见错误
- [[02-开发笔记/03-计算机基础/数据的编码表示/不同位宽的数据类型间的转换|不同位宽的数据类型间的转换]]:位扩展与位截断
- [[02-开发笔记/03-计算机基础/数据的编码表示/浮点数与有符号数之间的转换|浮点数与有符号数之间的转换]]:浮点数与有符号数的转换
###### 进程相关
- [[02-开发笔记/03-计算机基础/计算机基础|计算机基础]]:大/小端字节序、机器语言/汇编语言/高级程序语言、指令集架构 ISA、API 与 ABI
- [[02-开发笔记/03-计算机基础/机器视角下的进程|机器视角下的进程]]:
- 进程的虚拟内存空间布局、运行时栈
- 常见程序错误: 栈溢出、缓冲区溢出(栈缓冲区溢出、堆缓冲区溢出)、段错误
- [[02-开发笔记/03-计算机基础/编译与链接/编译与链接|编译与链接]]
- [[02-开发笔记/03-计算机基础/编译与链接/目标文件|目标文件]]
- 目标文件的格式:ELF 头、各个节、节头部表
- 目标文件中涉及的几种表:节头部表、程序头部表、符号表、字符串表、重定位表
- [[02-开发笔记/03-计算机基础/编译与链接/链接|链接]]:符号解析、重定位、静态链接与动态链接
- [[02-开发笔记/03-计算机基础/编译与链接/静态库与动态库|静态库与动态库]]
<br><br>
# (9)项目文档
- [[66-项目文档/MyHttpServer 项目/MyHttpServer 项目说明|MyHttpServer 项目说明]]
---
<br><br>
# (10)工具集
##### VSCode
- [[05-工具/VSCode/VSCode 说明|VSCode 说明]]
- [[05-工具/VSCode/VSCode 配置 C&C++ 开发环境|VSCode 配置 C&C++ 开发环境]]
- [[05-工具/VSCode/VSCode 配置使用 Clangd 插件|VSCode 配置使用 Clangd 插件]]
- [[05-工具/VSCode/VSCode 配置使用 CMake 插件|VSCode 配置使用 CMake 插件]]
- [[05-工具/VSCode/VSCode 配置远程开发环境|VSCode 配置远程开发环境]]
- [[05-工具/VSCode/VSCode 配置 Git 相关插件|VSCode 配置 Git 相关插件]]
- [[05-工具/VSCode/VSCode 配置 Vim 键位环境|VSCode 配置 Vim 键位环境]]
##### Git
- [[05-工具/git 使用/git 说明|git 说明]]
- [[05-工具/git 使用/git 分支管理|git 分支管理]]:`git branch`、`git switch/checkout`、`git merger`、`git rebase`
- [[05-工具/git 使用/git 远程仓库&远程分支管理|git 远程仓库&远程分支管理]]:`git remote`、`git push/fetch/pull`
- [[05-工具/git 使用/git 工作区&暂存区管理|git 工作区&暂存区管理]]: `git stash`、`git restore`、`git rm`、`git clean`
- [[05-工具/git 使用/git commit 管理|git commit 管理]]:`git reset`、`git reverse`、`git cherry-pick`、`git checkout`
- [[05-工具/git 使用/git 标签管理|git 标签管理]]:`git tag`
- [[05-工具/git 使用/git 信息查看|git 信息查看]]:`git status`、`git log`、`git show`
- [[05-工具/git 使用/git diff 比较|git diff 比较]]
- [[05-工具/git 使用/gitignore 说明|gitignore 说明]]
##### CMake
- [[05-工具/CMake 构建工具/CMake 说明|CMake 说明]]:CMake 工作原理、基本概念、项目构建步骤、预设配置文件
- [[05-工具/CMake 构建工具/CMake 命令说明|CMake 命令说明]]:`cmake`、`cmake --build`、`cmake --install`
- CMakeLists.txt 文件编写:
- [[05-工具/CMake 构建工具/CMakeLists.txt 构建目标与属性|CMakeLists.txt 构建目标与属性]]
- [[05-工具/CMake 构建工具/CMakeLists.txt 变量与缓存|CMakeLists.txt 变量与缓存]]
- [[05-工具/CMake 构建工具/CMakeLists.txt 基本指令|CMakeLists.txt 基本指令]]
##### GNU 工具
- [[05-工具/GNU 工具/gcc 编译器|gcc 编译器]]:gcc 编译常用选项
- [[05-工具/GNU 工具/gdb 调试器|gdb 调试器]]:gdb 内置命令及使用、coredump 分析
- [[05-工具/GNU 工具/make 工具|make 工具]]:make 使用、makefile 编写
- [[05-工具/GNU 工具/clangd 工具|clangd 工具]]:clangd 配置
##### Vim
- [[05-工具/vim/vim 使用|vim 使用]]:vim 基本用法、编辑理念
- [[05-工具/vim/lazy.nvim 插件管理器|lazy.nvim 插件管理器]]
- [[05-工具/vim/Neovim 插件|Neovim 插件]]
- [[05-工具/VSCode/VSCode 配置 Vim 键位环境|VSCode 配置 Vim 键位环境]]