C++程序高级调试与优化_第一篇
地址空间 32位系统,CPU可直接寻址4GB空间,这也是每个进程的地址空间大小。 其中,高2GB供内核模块使用,称为内核空间。 低2GB供用户态模块使用,称为用户空间。 使用/3GB开关,可以将用户空间增大到3GB。 Windows内容load到内核空间高地址,主程序load到用...
地址空间 32位系统,CPU可直接寻址4GB空间,这也是每个进程的地址空间大小。 其中,高2GB供内核模块使用,称为内核空间。 低2GB供用户态模块使用,称为用户空间。 使用/3GB开关,可以将用户空间增大到3GB。 Windows内容load到内核空间高地址,主程序load到用...
34 区分接口继承和实现继承 概述 在C++的面向对象编程中,继承可以用于两种目的:接口继承和实现继承 理解并区分这两种继承方式有助于设计更清晰、可维护和灵活的类结构 接口继承 子类继承基类的接口,但可以重新定义(覆盖)基类的方法 接口继承通常用于定义类的行为约定,使得不同的子类...
程序执行所用的时间 关于优化的一点 标准 C++标准允许一种(编译器)实现省略创建一个只是为了初始化另一个同类型对象的临时对象。指定这个参数(-fno-elide-constructors)将关闭这种优化,强制G++在所有情况下调用拷贝构造函数。 表现 当编译器遇到需要用一个类对...
linux操作系统启动过程 第一个进程 在传统的Unix和Linux系统中,init进程是系统启动后的第一个进程(PID为1) 它是系统的祖先进程,负责启动其他所有的进程 在许多现代Linux发行版中,systemd已经取代了传统的init系统 在这些系统中,systemd是第一...
相关功能 定义 bool型 直接使用值 直接修改值 string型 直接使用 修改值 int型 其他编译单元引用 其他 问题 似乎不支持Windows风格的参数 似乎用--help会有奔溃,没研究原因
thread相关 创建线程 使用 std::thread 构造函数创建线程,需传递一个可调用对象(函数、Lambda、函数对象等) 可调用对象 普通函数(函数指针) 函数对象(仿函数,Functor) 定义一个重载了 operator() 的类: lambda表达式 直接在线程构...
搜索当前标签