摘要:
部署环境:CentOS 7 1、Heartbeat介绍 Heartbeat是Linux-HA项目中的一个组件,它实现了一个高可用集群系统。心跳检测和集群通信是高可用的两个关键组件,在Heartbeat项目中,由heartbeat模块实现了这两个功能。Heartbeat是目前开源HA项目中十分成功的例 阅读全文
摘要:
编译环境:Windows10 + VS2015 1、空类占用的内存空间 类占内存空间是只类实例化后占用内存空间的大小,类本身是不会占内存空间的。用sizeof计算类的大小时,实际上是计算该类实例化后对象的大小。空类占用1字节原因:C++要求每个实例在内存中都有一个唯一地址,为了达到这个目的,编译器会 阅读全文
摘要:
编译环境:Windows 10 + elclipse +gcc-8.1.0 1、类型推导 C++11 引入了 auto 和 decltype 这两个关键字实现了类型推导,由编译器在编译过程中完成类型推断过程。区别: 1)语法格式区别 auto varname = value; // auto 根据= 阅读全文
摘要:
编译环境:Windows 10 + VS2015 1、问题 上一篇文章C++函数调用过程解析第3部分执行函数中,说到计算局部变量x和y的地址。在VC6中计算方式分别为[ebp-4]和[epb-8],然而在VS2015中计算方式为[ebp-4-4]和[epb-8-8]。为什么每次计算变量地址时第一个变 阅读全文
摘要:
编译环境:Windows 10 + VS2015。 0、引言 函数调用的过程实际上也就是一个中断的过程,本文演示和深入分析参数入栈、函数跳转、保护现场、恢复现场等函数调用过程。 首先对三个常用的寄存器进行说明: EIP:指令指针,即指向下一条即将执行的指令的地址。 EBP:基址指针,常用来指向栈底。 阅读全文
摘要:
Compiling evironment: linux (ubuntu 16.04)+ gcc-10.2. The post will focus on using export,import,visible and reachable. 1 export C++’s export keyword 阅读全文
摘要:
Compiling evironment: linux (ubuntu 16.04)+ gcc-10.2. The Post will clarify and discuss what modules are,what they can do,and what they intended to do 阅读全文
摘要:
1、函数返回值类型推导 c++14对函数返回类型推导规则做了优化: auto func(int i) { //C++11编译非法,c++14支持auto返回值类型推导 return i; } int main() { cout << func(4) << endl; return 0; } 支持函数 阅读全文
摘要:
编译环境说明:gcc 8.1 + eclipse +windows 10 eclipse cpp默认支持c++14,做c++17开发时,需要手动进行配置。 1、关键字 1)constexpr c++17扩展了constexpr使用范围,既可以用于if语句,也可以用于lambda表达式。 例1 tem 阅读全文
摘要:
POD 是 C++ 中一个比较重要的概念,POD 是英文 Plain Old Data 的缩写(通俗讲就是类或结构体通过二进制拷贝后还能保持其数据不变),用来描述一个类型(包括 class、union 和 struct等)的属性。其中Plain表示这个类型是个平凡的类,Old表示其与C的兼容性。C+ 阅读全文