摘要:
### 1 new和delete - new的返回值是对应数据类型的地址,数组时返回首地址 - delete之后再让指针指向NULL是一个很好的习惯 ``` int *p = new int(10); delete p; int *arr = new int[10];//开一个10个元素的数组,访问 阅读全文
摘要:
### 1 基本规范: 无论是写什么样的代码,第一步都应该是创建一个程序对象 ``` #include int main(int argc, char *argv[]) { QApplication a(argc, argv);//创建对象并调用构造函数 return a.exec();//因为是g 阅读全文
摘要:
### 1 在浏览器键入url,按下回车会经历如下行为 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址; 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立 TCP 连接; 浏览器发出读取文件( URL 中域名后面部分对应的文件)的 HTTP 请求,该请 阅读全文
摘要:
### 1 Socket 在linux网络编程中我们主要使用套接字Socke进行不同主机上进程间的通信,该套接字提供了透明传输接口使得我们不需要根据协议栈进行手动封装数据包,我们不必在意协议栈上下层之间的具体服务,而是仅需调用提供的api即可 套接字通信的一般流程为: - 创建套接字:在应用程序中使 阅读全文
摘要:
Linux基础命令 ``` ctrl + l //快速清屏 rm 文件名 //删除文件,rm *.o表示删除所有.o后缀的文件 mkdir 目录名 //创建一个目录 touch 文件名 //创建一个文件 tree //查看文件目录树,但要sudo aot install tree ll //查看所有 阅读全文
摘要:
写在前面:本文学习自[基于C++11实现线程池](https://zhuanlan.zhihu.com/p/367309864),代码部分均属于该博主,自己只是想记录以下自己的认知,并以这种方式加深一下自己对于多线程的理解 ### 1 前置知识 #### RAII管理机制 简单来说RAII机制是一种 阅读全文
摘要:
### 1 thread `std::thread`是C++标准库提供的类,用于创建和管理线程。位于头文件中,std::thread对象可以通过多种方式进行构造,最常见的是提供其构造函数所需要的执行函数地址、以及函数参数,至于其它指定线程优先级等属性依照特定情况下添加即可,如:std::thread 阅读全文
摘要:
1.Speed up system calls (easy) 要求:有些操作系统(例如 Linux)通过在用户空间和内核之间的只读区域共享数据来加速某些系统调用。这样可以消除在执行这些系统调用时进行内核交叉的需要(以优化用户模式到内核模式的陷阱机制,对于某些系统调用不再需要切换模式)。第一个任务是为 阅读全文
摘要:
对自己学习git的一个记录,由于刚开始接触git,所以没有对于git做深入解释和说明,仅供参考,如有理解不对的地方或者需要改进的地方敬请指出。 用到的git命令: git init //初始化 git add . //添加所有文件 git add 文件名 //添加指定文件 git commit -m 阅读全文
摘要:
1.system call tracing(moderate) 要求:创建一个系统调用来实现跟踪特性,它采用一个参数来指定跟踪哪一个系统调用,例如:跟踪fork系统调用,程序调用trace(1<<SYS_fork),其中SYS_fork是kernel/syscall.h中的系统调用号。如果在掩码中设 阅读全文