
2020_11_05 2
Linux下/proc Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可...
Linux下/proc Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可...
语言类 volatile 易变性 所谓的易变性,在汇编层面反映出来,就是两条语句,下一条语句不会直接使用上一条语句对应的volatile变量的寄存器内容,而是重新从内存中读取。 “不可优化”特性 volatile告诉编译器,不要对我这个变量进行各种激进的优化,甚至将变量直接消除,...
红黑树 哈希表 TCP TCP三次握手过程 客户端发送连接请求到服务端 客户端发送:SYN 服务端收到消息后知道自己是可以与客户端连接成功的。 但是客户端并不知道服务端有没有收到它的请求,所有服务端收到消息之后得应答,告诉客户端它收到请求了。ACK(SYN) 服务端同时也会发送一...
多态 编译时多态 通过函数重载实现 运行时多态 多态性可以概括为“一个接口,多个方法”,程序运行时才决定调用哪个具象化函数 多态通过虚函数实现,虚函数允许子类重新定义成员函数,而子类重写定义父类函数的做法叫做覆盖,override vector底层 vector底层实现是封装了顺...
argc && argv argc 表示传入main函数的参数个数 argv 表示传入main函数的参数序列或指针 其中,argv[0]一定是程序的名称,包含路径的名称 而由于argv[0]存放的一定是程序的名称,所以我们传入的参数的个数是argc-1 strle...
两个栈实现队列 链表反转 快速排序 排序 _ 快速排序 TCP三次握手 2020_11_05 野指针 指针指向的位置是不可知的(随机的、不正确的、没有明确限制的) 野指针很可能触发运行时段错误( Sgmentation fault) 第一种是指向不可访问(操作系统不允许访问的敏感...
界面白屏,如何定位问题 bb
原子操作 概念 所谓原子操作是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何context switch 原子操作可以保证正在工作的动作不被打断,即一旦开始,持续到结束。对比互斥锁优势在于,原子操作是在C/C++的层面,是无锁操作,既能解决并发...
Windows相关 创建Mutex的有无Global的影响 概述 Windows 内核对象(如 Mutex、Event、Semaphore)的命名规则决定了它们的可见范围: 适用场景:跨会话(如服务进程与用户进程)、跨用户或系统级同步 加了Global\ 表示该对象位于 全局内核...
Windows Mutex 创建或打开Mutex 等待获取Mutex所有权 通过WaitForSingleObject阻塞当前线程,直到Mutex变为有信号(可获取)状态: 释放Mutex 关闭句柄 使用CloseHandle关闭Mutex句柄(系统在进程退出时自动关闭,但显式关...
搜索当前标签