摘要:
源码 ——> 预处理器 .i 文件——> 编译器 .s 文件 ——> 汇编器 .o 文件 ——> 链接器 ——> 执行程序 预处理器:读取代码里 #开头的命令 ,并把他插入到程序文本里,生产已.i 为后缀名的文件 编译器:把.i 文件 生成汇编文件 .s 汇编器:把汇编文件 生成 二进制 文件 .a 阅读全文
摘要:
#pragma once template<typename TR> class joker_shared_ptr { private: TR * ptr; size_t * count; public: constexpr joker_shared_ptr(/* args */)noexcept{ 阅读全文
摘要:
1、constexpr http://t.csdnimg.cn/WFfbB 什么是字面值 字面值是指在程序中无需变量保存,可直接表示为一个具体的数字或字符串的值 2、noexcept http://t.csdnimg.cn/hRdJX 3.explicit http://t.csdnimg.cn/w 阅读全文
摘要:
NULL是一个宏,替换的是0 ,而nullptr是关键字,代表空指针 含义不同,nullptr 代表是空指针,NULL 代表整型数字0 nullptr可以清晰地表达代码的意图,能够避免在类型检查时出现一些歧义问题 nullptr只能用于指针类型,不能与整数类型混淆~ 阅读全文
摘要:
虚函数指针 vptr 大小 x86 平台 下为4个字节,x64 平台下为8个字节 例题:涉及内存对齐 答案: 32位 miao age = 2 64位 miao age = 1 核心在这句话上 p【1】 = q【1】; 由于两个子类都继承自有虚函数的基类 因此都带有虚表指针 首先基类中只有一个int 阅读全文
摘要:
结构体内存对齐详解 1、第一个成员在与结构体变量偏移量为0的地址处2、其他成员变量要偏移到 对齐数 的整数倍的地址处 ,注意 偏移是从结构体首地址处开始的。 对齐数 取的是 编译器默认的一个对齐数 与 该成员大小 这个俩个数中的最小值。 【VS中默认的值为8、Linux环境默认不设对齐数(对齐数是结 阅读全文
摘要:
并发:多个线程 交替使用一个处理器 并行:多个线程 交替使用多个处理器 并行时间是物理意义上的 阅读全文
摘要:
1.打开魔术笔 2.点击 切换debug 3.点击 settings 4. 把MHZ改成4,点击确定就OK了 阅读全文
摘要:
三次握手 A->B:请求连接 B->A:好的,请求连接 A->B:好的,连接成功 四次挥手 A->B:请求断开 B->A:好的,A断开 B->A:请求断开 A->B:好的,B断开,断开成功 阅读全文