学习笔记
文章平均质量分 78
thewangcj
小白一枚,努力!
展开
-
《Linux/Unix系统编程手册》学习心得及资源
从去年开始断断续续看《Linux/Unix系统编程手册》,到现在才把上半册看完,其中搜集到了一些资料,也积累了一些心得,一一分享给大家。知识储备C 语言基础大学C语言课程的程度勉强就可以了,如果阅读过程中有遇到不懂的 C 语言方面的知识,可以参考下面的内容:阮一峰的 C语言教程总结的非常好的 C 学习笔记尤其是 C 学习笔记,总结的非常好,建议即使已经学过了 C 语言也读一遍,总共也就200多页,读下来非常快。Linux 基础这里的 Linux 基础主要值得是能在 Linux 下原创 2022-04-08 14:34:24 · 898 阅读 · 5 评论 -
C++ Primer 读书笔记04
C++ Primer 读书笔记04关联容器pair动态内存静态内存栈内存智能指针shared_ptr直接管理内存new空悬指针智能指针陷阱unique_ptrweak_ptrlock动态数组智能指针与动态数组“C++ Primer”关联容器标准库提供 8 个关联容器,他们的不同体现在:或者是一个set,或者是一个map或者要求不重复的关键字,或者允许重复关键字,允许重复关键字的容器的名字中都包含单词multi按顺序保存或者无序保存,不保持关键字按顺序存储的容器的名字都以unorder原创 2020-10-13 14:50:38 · 75 阅读 · 0 评论 -
C++ Primer 读书笔记03
C++ Primer 读书笔记03输出缓冲导致缓冲刷新的原因:刷新缓冲区顺序容器emplace迭代器失效vector容器适配器栈适配器队列适配器lambda捕获列表可变 lambda指定 lambda 的返回类型bind(11)插入迭代器iostream 迭代器反向迭代器输出缓冲每个输出流都管理一个缓冲区,用来保存程序读写的数据导致缓冲刷新的原因:程序正常结束,作为 main函数的return操作的一部分,缓冲刷新缓冲区满时使用操纵符endl来显示刷新缓冲区每个输出操作后用操作符unitbu原创 2020-09-16 12:48:02 · 91 阅读 · 0 评论 -
C++ Primer 读书笔记02
C++ Primer 读书笔记02```this``````const```成员函数访问控制友元可变数据成员构造函数初始值列表委托构造函数默认构造函数默认初始化值初始化隐式的类类型转换类的静态成员“C++ Primer”thisthis总是指向“这个”对象,所以this是一个常量指针常量对象,以及常量对象的引用或指针都只能调用常量成员函数原因:虽然this是隐式的,但仍然遵守初始化规则,所以不能把this绑定到一个常量对象上,所以这就是不能在一个常量对象上调用普通成员函数的原因cons原创 2020-09-11 21:37:54 · 190 阅读 · 0 评论 -
C++ Primer 读书笔记01
C++ Primer 读书笔记01变量声明和定义```const```指针与```const```数组与指针```begin```和```end```(11)左值右值:赋值运算符递增和递减运算符成员访问运算符```sizeof```强制类型转换范围```for```局部静态对象:将局部变量定义成 static 类型函数声明```initializer_list```列表初始化返回值(c++11)返回数组指针```constexpr```assert疑惑:“C++ Primer”变量声明和定义原创 2020-09-08 19:47:26 · 93 阅读 · 0 评论 -
Unix/Linux 编程实践教程第六章习题
tips: 这一章习题倒是少,练习题多到头皮发麻。。。6.1tr命令用于转换或删除文件中的字符,详细的用法可以参考Linux tr命令,至于不接受命令行指定文件,我想是因为标准输入输出可以被重定向到任何类型的链接上,包括文件,所以没有必要接受命令行指定文件。这样只考虑标准输入输出降低了程序编写的难度,相应的,用户使用起来就相对麻烦一些,当然,这只是我的猜测,可能不对。除了tr,还有colrm...原创 2019-08-28 15:50:34 · 337 阅读 · 0 评论 -
Unix/Linux 编程实践教程第五章习题
tips: 这一章的习题是真的多,花费了我许多时间,说实话,这本书的习题难度对我而言还是挺大的。这里有一些小建议,看的时候可以同时参考其他书,我参考的是《UNIX环境高级编程》和《Linux C编程一站式学习》,第二本我在最底下留下了链接,是在线版本的。然后这一章的很多题还是不太懂,如果你知道答案欢迎评论告诉我,谢谢。5.2现在的biff命令是用来控制命令行环境下有新邮件时是否提示,和作者的意...原创 2019-08-28 14:35:47 · 369 阅读 · 0 评论 -
Unix/Linux 编程实践教程第四章习题
tips: 答案仅供参考,不保证正确4 .1这个硬件位置一般称作 CHS 地址,既磁头数(Heads)、柱面数(Cylinders)、 扇区数(Sectors),而在系统中描述数据所在的区块称作 LBA (逻辑区块地址),这种寻址方式把硬盘看成一个大的数组,每一个数据块有一个编号。两个地址进行转换时要注意:由于系统在写入数据时是按照从柱面到柱面的方式,在上一个柱面写满数据后才移动磁头到下一个...原创 2019-07-31 21:14:29 · 350 阅读 · 0 评论 -
Unix/Linux 编程实践教程第三章习题
==tips:==答案经供参考,不保证正确3.1在我的 deepin 上,d_name 的长度是 256,有的系统定义成 1 是为了节省空间,使用时可以通过 malloc() 动态的分配空间,比如:struct dirent{ int len; char a[0];};struct dirent *fun(char *str, int len){ struct d...原创 2019-07-16 21:31:21 · 389 阅读 · 0 评论 -
Unix/Linux 编程实践教程第二章习题
tips: 如果使用 man 查询是出现问题可能是你的 Linux 发行版没有完整的 man pages,可以通过下面的命令安装:sudo apt install manpagessudo apt install manpages-devanother tips 答案仅供参考,不保证正确2.1相比于 who 命令, w 还提供了当前时间、系统运行时间、有多少登录用户以及过去1,5和15...原创 2019-07-16 19:50:29 · 301 阅读 · 0 评论 -
探索开机的秘密
我们知道计算机的主要由 CPU、内存、外存、外部设备等组成,其中 CPU 是计算机的心脏,CPU 从内存中读取指令,一条条不知疲倦的执行,实际上我们所说的内存也就是 RAM 在掉电之后里面的内容会随之清空,这样开机时 CPU 就不能从内存中正常的读取指令了,怎么办呢?实际上还有一种叫做 ROM 的存储器,ROM 中的内容时可以永久保存的,计算机开机的过程就从 ROM 中开始。在 8086 系...原创 2018-10-12 17:50:01 · 148 阅读 · 0 评论 -
.gitignore配置学习
在使用 git 上传本地代码的时候,我们希望有些部分能够不上传,比如通过 npm 安装的一些包或者数据库之类的资源,毕竟天朝网络感人。这时候一个叫 .gitignore 的文件就起作用了。在 Windows 上创建 . 开头的文件有一些困难,可以在要创建文件所在文件夹内按住<code>Shift</code>同时右键在此处打开命令窗口,然后输入echo test...原创 2018-10-12 17:41:45 · 650 阅读 · 0 评论