
底层函数实现/数据结构
文章平均质量分 82
蔚天灿雨
16hitwh, 20hitsz
最近工作了,维护少 ...
展开
-
待办事项-fork源代码
fork代码原创 2022-09-22 18:20:17 · 474 阅读 · 0 评论 -
自己动手实现memcpy
自己动手实现memcpy(优化)原创 2022-09-18 11:12:58 · 707 阅读 · 1 评论 -
6.S081-10 阻塞和唤醒+进程退出 - {Sleep & Week up}+{exit,wait,kill}
6.S081-10 阻塞和唤醒+进程退出 - {Sleep & Week up}+{exit,wait,kill}原创 2022-09-12 20:18:52 · 929 阅读 · 0 评论 -
6.S081 附加Lab4 从源代码看进程退出——exit,wait,kill
从源代码看进程退出过程——exit,wait,kill原创 2022-09-12 20:12:27 · 514 阅读 · 1 评论 -
C语言中可变参数函数的实现——printf
C语言中可变参数函数的实现(`printf()`的实现)原创 2022-09-07 17:01:09 · 1494 阅读 · 0 评论 -
sizeof类大小 + 程序内存空间理解 + const变量的生命周期实现
通过测试C++中sizeof类大小,进一步理解进程内存空间,并理解const局部变量的生命周期不发生改变的原因。原创 2022-09-05 21:13:48 · 833 阅读 · 0 评论 -
int类的前置++和后置++的实现
int类的前置++和后置++的实现原创 2022-08-27 21:04:51 · 903 阅读 · 0 评论 -
自己动手构造一个shared_ptr (未完待续)
自己动手构造一个`shared_ptr`原创 2022-08-26 16:44:30 · 703 阅读 · 0 评论 -
6.S081 附加Lab3 线程切换——源代码实现(trap,yeild,context,Scheduler)
6.S081 附加Lab3 线程切换——源代码实现(trap,yeild,context,Scheduler)原创 2022-08-21 15:07:46 · 1240 阅读 · 0 评论 -
6.S081-9线程切换 - Thread Switching
6.S081-9线程切换 - Thread Switching原创 2022-08-21 15:06:58 · 1326 阅读 · 0 评论 -
6.S081-8锁 - Spinlock
6.S081-8锁 - Spinlock为什么要用锁,锁带来的问题,锁的实现。原创 2022-08-19 16:09:38 · 1332 阅读 · 0 评论 -
6.S081-7中断(键盘输入+屏幕输出) - Interrupts
6.S081-7中断(键盘输入+屏幕输出) - Interrupts原创 2022-08-18 17:13:15 · 2477 阅读 · 0 评论 -
6.S081 附加Lab2 CPU进程调度(Scheduler)
6.S081 附加Lab2 CPU进程调度(Scheduler)操作系统启动后,是如何调度进程的?原创 2022-08-17 23:59:44 · 286 阅读 · 0 评论 -
C++ 实现生产者和消费者(并发)(多线程)
C++ 实现生产者和消费者(多线程, 锁)原创 2022-08-15 23:29:24 · 5001 阅读 · 2 评论 -
二分查找,找到左右端点
二分查找,找到左右端点原创 2022-08-08 23:35:32 · 432 阅读 · 0 评论 -
完美转发(右值引用)
完美转发原创 2022-08-07 21:58:05 · 375 阅读 · 0 评论 -
C++ 虚函数表解析(64位版)
C++ 虚函数表解析(64位系统版)原创 2022-08-03 22:01:33 · 555 阅读 · 0 评论 -
C++ sort / priority_queue自定义比较
C++ sort / priority_queue自定义比较原创 2022-07-27 23:19:16 · 793 阅读 · 0 评论 -
蔚天灿雨的笔试记录
蔚天灿雨的笔试记录原创 2022-07-27 21:26:37 · 475 阅读 · 0 评论 -
unordered_map自定义数据结构
C++ std::unordered_map自定义数据结构 {自定义哈希方法 + 自定义比较方法}原创 2022-07-24 20:37:32 · 499 阅读 · 0 评论 -
Dijkstra实现(邻接表C++版)
Dijkstra实现(邻接表C++版)原创 2022-07-19 21:45:15 · 2166 阅读 · 1 评论 -
C++排序算法总结(附 完整cpp程序)
排序算法的简单总结原创 2022-07-07 21:30:59 · 541 阅读 · 0 评论 -
Linux用代码清理磁盘缓存(运行时清理磁盘缓存)
Linux用代码清理磁盘缓存(运行时清理磁盘缓存)基础:命令行清除缓存清理缓存的命令行命令sudo sh -c 'sync && echo 3 > /proc/sys/vm/drop_caches'解释一下命令含义:使用同步向文件/proc/sys/vm/drop_caches,写入3。# 其中使用sh -c而不是直接使用sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches# 是因为sudo ech原创 2022-05-09 15:37:25 · 3597 阅读 · 0 评论 -
代码优化-速度提升
速度提升背景需要进行大量计算的一个函数Odess,提升速度。目前的速度:2242MB,2.818340s。void reset_recordList(uint64_t *rcdlst) { for (int i = 0; i < featureAmount; ++i) { rcdlst[i] = 0; } if (1) { for (int i = 0; i < featureAmount; ++i) { if (rcdlst[i]) {原创 2022-05-08 19:34:22 · 185 阅读 · 0 评论 -
O_DIRECT lseek() read()
O_DIRECT + lseek(), read() 报错问题描述使用lseek()函数设置所需要的偏移量,使用read() O_DIRECT之后,read返回值是-1。解决方案O_DIRECT之后,读取就只能是以页大小(我这里页大小是4K)为单位读取,也必须以页大小对齐(因此注意设置buf为memalign方式分配内存空间)。lseek()的偏移量,也必须以4K对齐,才能运行,否则int ret = read(); 则有ret = -1。具体背景 + 代码程序十分简单,就是测试read 和 w原创 2022-05-07 22:29:29 · 1011 阅读 · 0 评论