linux平台下C/C++调试技术分享总结-纯干货!
调试作为一种日常中常见的工作,提高调试水平是非常有必要的。
调试的过程是收集足够多的信息来判断出错误信息。
本文介绍调试过程中所需要的的内存相关知识、底层知识、调试技巧,通过这些知识加强信息收集,减少无用的调试工作,使调试更有目的性。
程序挂掉大多表现为内存异常,通过分析core文件中的内存信息来推断程序异常原因是一种常见的方法,而在分析的过程中需要确保收集到的信息是正确的,因此glibc内存管理原理与程序中内存使用方法是调试的基础知识。
代码段、数据段、bss段,由内核在启动程序时分配。
代码段、数据段,BSS段处于较低位置,在地址上能明显区分出来。
C++类和对象(二)(1)
C++类和对象(二)
1.六个默认成员函数
如果一个类中什么成员都没有,简称为空类。空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。
六个默认成员函数:构造函数(初始化工作)、析构函数(清理工作)、拷贝构造(使用同类对象初始化创建对象)、赋值重载(把一个对象赋值给另外一个对象)、取地址重载(普通对象和const对象取地址)