04 2021 档案
摘要:thread_info 结构被称为迷你进程描述符,是因为在这个结构中并没有 直接包含与进程相关的字段,而是通过 task 字段指向具体某个进程描 述符。通常这块内存区域的大小是 8KB,也就是两个页的大小(有时候 也使用一个页来存储,即 4KB)。一个进程的内核栈和 thread_info 结构之间
阅读全文
摘要:https://blog.csdn.net/goodluckwhh/article/details/10026311
阅读全文
摘要:在阅读APUE 8.6 节时对fork两次避免僵尸进程有点不是很理解,在此记录一下。 首先review一下概念: 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。 僵尸进程:
阅读全文
摘要:Reference: https://www.cnblogs.com/anker/p/3271773.html
阅读全文
摘要:Reference: https://www.cnblogs.com/Bylight/p/10530274.html
阅读全文
摘要:如果既要提高程序的效率,又要使传递给函数的数据不在函数中被改变,就应该使用常引用。常引用的声明方式是: const 类型标识符& 引用名 = 目标变量名; 用这种方式声明的引用,不能通过引用对目标变量的值进行修改,在程序中使引用的目标成为const类型,从而保证了引用的安全性。 假设有如下函数声明:
阅读全文
摘要:为什么说使用引用是个效率较高的做法? 将一般变量作为函数的参数,传给形参的是变量的值,传递是单向的。如果在执行函数期间形参的值发生变化,并不传回给实参。因为在调用函数时,形参和实参不是同一个存储单元。 使用引用传递函数的参数时,在内存中并没有产生实参的副本,而是对实参直接操作。当使用一般变量传递函数
阅读全文
摘要:strlen 和 sizeof 的区别 #include<iostream> #include<cstring> using namespace std; int main() { char str[10] = "Book"; cout<<sizeof(str)<<endl; cout<<strle
阅读全文
摘要:首先编写如下cpp文件,命名为helloworld.cpp,并将它放到Linux机器上的某个目录下。 执行 g++ helloworld.cpp 命令,会默认在该目录下生成 a.out 文件。执行 ./ a.out 命令,即可获得输出结果:Hello world。 也可以通常可以通过选项-o来指定自
阅读全文
摘要:Reference: https://blog.csdn.net/XJF199001/article/details/46863301
阅读全文
摘要:1.概述 考虑最简单的lambda function , [](){},它没有参数也没有返回值。 []里面用来捕获函数外部的变量,而()里面就是匿名函数的参数,{}里面就是函数的执行代码。 One easy example: #include <iostream> using namespace s
阅读全文
浙公网安备 33010602011771号