简介 要学习OpenGL的话,强烈安利这个教程JoeyDeVries的learnopengl,这里是中文翻译好的版本。教程中使用OpenGL是通过GLFW这个库,而在Qt中对...
一、秋招 Linux C/C++ offer 情况 二、Linux C/C++ 方向的一些思考 三、计算机基础知识的梳理 四、C++ 方向的深入学习路线 五、项目 + 亮点 ...
select和poll都只提供了一个函数:select或者poll函数。而epoll提供了三个函数,epoll_create,epoll_ctl和epoll_wait,epo...
总体来说设计模式分为三大类: 1. 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2. 结构型模式,共七种:适配器模式、装饰器模式、代理模...
继承方法 三种数据成员 1. public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用 2. private:private表示私有,...
特殊成员函数 特殊成员函数与普通函数、运算符重载函数的一个显著的区分方法就是——没有返回值。 C++98必要组成:构造函数、拷贝构造函、赋值构造函数、析构函数。 C++11 ...
发展 boost::shared_ptr C++11后 std::shared_ptr 什么是智能指针 智能指针是一个类,该类里封装了普通指针。以shared_ptr为例 为...
发展 boost::function func c++11 后: std::function包含于头文件 #include<functional>中 什么是function...
C++11 新标准中引入了四个头文件来支持多线程编程,他们分别是: , ,<mutex>,<condition_variable>和<future>。 创建线程 :该...
在Lambda表达式的函数体内,是不能够访问到外部的变量的,如果想要使用函数体外定义的变量,就需要将它们进行"捕获" [ ]:空捕获列表,即lambda表达式不能够使用所在函...
阻塞I/O,非阻塞IO,IO复用,信号驱动,异步IO 1. 其中阻塞IO就是那种recv, read,一直等,等到有了拷贝了数据才返回; 2. 非阻塞就是不用等,立即返回,设...
算法优化 进程调度算法:时间片轮换调度算法 页面置换算法 IO调度算法 物理内存碎片:slab 虚拟内存碎片:内存池 内存缓冲区算法优化:radix tree 预防死锁算法:...
逻辑地址:便于编程 线性地址:与地址总线根数相关,N根地址线,则线性地址范围为2的N次方 物理地址:即实际硬件物理地址 逻辑地址到线性地址 理论原理:采用分段机制 目的:分隔...
概览进程同步器件的实现方法关系图 原子操作 原子操作:顾名思义就是不可分割的操作,该操作只存在未开始和已完成两种状态,不存在中间状态; 原子类型:被原子操作的变量就是原子类型...
信号 信号诞生 信号的生成来自内核,让内核生成信号的请求来自3个地方: 1.用户:用户能够通过输入CTRL+c、Ctrl+\,或者是终端驱动程序分配给信号控制字符的其他任...