- 博客(113)
- 资源 (11)
- 收藏
- 关注
原创 select最多只能监听1024个
通过上图可知:select的监听的文件描述符已经在代码中硬编码。扩展:epoll监听数受系统设置的单线程最大文件描述符数限制。(查看命令:ulimit -a)
2021-02-22 17:39:44 846
原创 C++内存对齐
0x0. 内存对齐方式默认方式gcc编译器默认采用结构体/类中最大类型长度对齐方式。预编译指令指定方式语法:#pragma pack( [show] | [push | pop] [, identifier], n )n的取值可以为1,2,4,8…2^i0x01. 对齐规则在开始介绍对齐规则之前先介绍各类型对齐字节数定义:内置类型对齐字节数等于编译器内置大小;自定义类/结构体对齐字节数等于max(各成员变量对齐字节数) 递归取值到内置类型。规则:1. 如果通过预编译指令#pragma
2021-01-20 10:52:24 438
转载 谈谈C++的volatile关键字以及常见的误解
编译器对代码的优化在讲volatile关键字之前,先讲一下编译器的优化。int main() { int i = 0; i++; cout << "hello world" << endl;}按照代码,这个程序会在内存中预留int大小的空间,初始化这段内存为0,然后这段内存中的数据加1,最后输出“hello world”到标准输出中。但是根据这段代码编译出来的程序(加-O2选项),不会预留int大小的内存空间,更不会对内存中的数字加1。他只会输出“h
2020-07-27 14:52:04 320
原创 Linux fork写时赋值技术(copy-on-write)
Here is the basic concept:Copy-on-write (sometimes referred to as “COW”) is an optimization strategy used in computer programming. The fundamental idea is that if multiple callers ask for resources which are initially indistinguishable, you can give them
2020-07-02 11:29:21 526
转载 c++11 “=default“ 和 “=delete“ 函数
#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <vector>#include <map>//c++11 类默认函数的控制:"=default" 和 "=delete"函数/*C++ 的类有四类特殊成员函数,它们分别是:默认构造函数、析构函数、拷贝构造函数以及拷贝赋值运算符。这些类的特殊成员函数负责创建、初始化、销毁,或者拷贝类的对象
2020-07-02 10:34:36 195
转载 Aggregate类型以及值初始化
引言在C++中,POD是一个极其重要的概念。要理解POD类型,我们首先需要理解Aggregate类型。下文结合stackoverflow上的高票回答将对Aggregate类型做一个全面的解读。对于Aggragates的定义C++标准(C++ 03 8.5.1 §1)中的正式定义如下:An aggregate is an array or a class (clause 9) with no user-declared constructors (12.1), no private or prote
2020-07-02 00:15:19 1001
转载 C++的默认构造函数与构造函数
构造函数:C++用于构建类的新对象时需要调用的函数。默认构造函数:未提供显式初始值时,用来创建对象的构造函数。class testClass{public: testClass(); /* 默认构造函数 */ testClass(int a, char b); /* 构造函数 */ testClass(int a=10,char b='c'); /* 默认构造函数 */private: int m_a;
2020-07-01 22:38:19 499
转载 UML中的几种关系
声明:文章转自:UML中的几种关系,个人学习记录使用。耦合度大小关系 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖依赖(dependency)一个人(Person)可以买车(car)和房子(House),那么就可以称:Person类依赖于Car类和House类这里注意与下面的关联关系区分:Person类里并没有使用Car和House类型的属性,Car和House的实例是以参量的方式传入到buy()方法中。依赖关系体现为局域变量、方法的形参,或者对静态方法的调用
2020-06-24 14:08:49 242
原创 Linux mmap 详解
Linux mmap详解一、mmap()是什么二、mmap()原理三、mmap和常规文件操作的区别四、mmap相关函数五、mmap使用细节六、对mmap()返回地址的访问例子:情形一:一个文件的大小是5000字节,mmap函数从一个文件的起始位置开始,映射5000字节到虚拟内存中。**情形二:一个文件的大小是5000字节,mmap函数从一个文件的起始位置开始,映射15000字节到虚拟内存中,即映射...
2020-01-05 20:49:54 1958
原创 The source file name(s) are larger than is supported by the file system
The source file name(s) are larger than is supported by the file system文件件包含目录过长 系统删除 文件夹
2017-06-25 14:26:35 2210
原创 undefined reference to 'pthread_create'
undefined reference to ‘pthread_create’ undefined reference to ‘pthread_join’问题原因:
2017-03-11 14:42:23 348
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人