主页

Mit6.s081课程lab1 Util解答

写在前面 巩固一下之前学的C语言, syscall等内容, 尝试一下OS的lab. 课程schedule: 6.S081 / Fall 2021 (mit.edu); lab1主页: Lab: Xv6 and Unix utilities (mit.edu); 中文翻译部分: 1.5 read, write, exit系统调用 - MIT6.S081 (gitbook.io);(感谢大佬) 之前配置过环境, 但是一直没来学习, 现在趁着假期补上OS的内容. 准备知识 C语言 系统调用 下面采用了xv6源码给出的基本系统调用的列表, 逐个进行分析: xv6: a simple, Unix-like teaching operating system (m...

阅读更多

C++右值引用,移动语义与完美转发详解

写在前面 总结一下深入理解C++11这本书的第三章第三节, 右值引用部分. 文中全部代码可以参考我在GitHub上传的部分: Learn_C_Cpp/c++11-14/Depth_understanding_of_C++11/chap3/move-semantic-perfect-forward at main · Apocaly-pse/Learn_C_Cpp (github.com); Learn_C_Cpp/c++11-14/rvalue-ref-move at main · Apocaly-pse/Learn_C_Cpp (github.com); 右值引用在新标准之后可以说是极大提高了C++的性能, 将以前只能完全拷贝的构造方法变成了一种只传递地址的引用,...

阅读更多

从sublime到vim的一些体验

写在前面 最后还是决定从sublime转向vim阵营了, 不得不说vim真的是越用越上瘾的编辑器, 并且只需要一些简单的配置就能完全离开鼠标, 操作起来简直不要再顺手. 当然,sublime还是要留着的, 毕竟现在还是过渡阶段, 慢慢能让vim完全熟悉了才能提高开发效率. 下面我想写写关于vim和sublime的一些常用功能的对比, 以及我为什么会最终选择vim这款效率神器. 光标定位与跳转 查找替换 代码的编译运行

阅读更多

红黑树的基本概念与增删改查完整实现(c++)

写在前面 谈谈红黑树, 参考算法导论和easy-cs/红黑树杀人事件始末.md at main · allentofight/easy-cs (github.com); 文中的很多插图非常便于理解, 这里我就不放图了. 红黑树是维持二叉搜索树平衡的一种经典数据结构, STL中用来实现关联性容器set和map(有序集合, 有序映射), 但是其增删节点步骤较为复杂, 下面来看看. 代码: dsa/Red_Black_Tree.cpp at main · Apocaly-pse/dsa (github.com); 红黑树的应用 STL中用来实现关联性容器set和map IO多路复用epoll的实现采用红黑树组织管理sockfd,以支持快速的增删改查 ng...

阅读更多

动态数据结构总结与比较

这里首先解释一下什么是动态数据结构:动态数据结构是支持动态的更新操作,里面存储的数据是时刻在变化的,通俗一点讲,它不仅仅支持查询,还支持删除、插入数据。而且,这些操作都非常高效。如果不高效,也就算不上是有效的动态数据结构了。所以,这里的红黑树算一个,支持动态的插入、删除、查找,而且效率都很高。链表、队列、栈实际上算不上,因为操作非常有限,查询效率不高。 答: 散列表:插入删除查找都是O(1),是最常用的,但其缺点是不能顺序遍历以及扩容缩容的性能损耗。适用于那些不需要顺序遍历,数据更新不那么频繁的,查找比较频繁的。 跳表:插入删除查找都是O(logn),并且能顺序遍历。缺点是空间复杂度O(n)。适用于不那么在意内存空间的,其顺序遍历和区间查找非常方便。 红黑树:插入删除...

阅读更多

Neovim定制方法

写在前面 基于ayamir/nvimdots: A well configured and structured Neovim. (github.com); 文件 . ├── core │   ├── event.lua │   ├── global.lua │   ├── init.lua │   ├── mapping.lua │   ├── options.lua │   ├── pack.lua │   ├── run.lua │   └── settings.lua ├── keymap │   ├── bind.lua │   ├── config.lua │   └── init.lua └── modules ├── .DS_Store ├── a...

阅读更多

使用c系统调用编写的简单tcpserver

写在前面 总结一下TCPserver以及client的C语言系统调用编写方法, 并给出一个例子(字符串数据的传递), 主要参考了尹圣雨编写的TCP/IP网络编程, 其中的回声服务器部分(第四章和第五章), 给出了服务器修改字符串的实现. 环境: MacOS12.6 M1 arm64 gcc-12 with brew TCP简介 TCP(传输控制协议), 基于三次握手和四次挥手建立连接, 在不稳定的IP协议层上通过控制流建立稳定的连接, 基本系统调用 I/O类 文件读(这里也包括从套接字文件读取信息) 网络类 其他(异常处理,) 示例(客户端向服务端发送字符串, 服务端处理后发送回客户端)

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits