刷新
内存分析利器之UMDH

近两周投入分析产品的内存泄漏问题。 测试团队反馈产品在安卓平台运行时,随用户操作,应用占用的内存出现上涨的趋势,停止操作并等待一段时间之后,应用占用的内存没有下降,怀疑存在内存泄漏问题。 结合复现的情况,以及一些统计数据,初步确实存在内存泄漏的现象,每次操作都会出现20MB左右的内存无法回收。 在W ...

使用CMake启用RUNPATH特性

使用CMake,启用RUNPATH特性,可以参考官方帖子。 如下源码来自于上述帖子。 CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) PROJECT(RUNPATH C) SET(CMAKE_VERBOSE_MAKEFILE ON) SET(CMAKE ...

深入解析 C 语言中的 for 循环、break 和 continue

博主头像 C语言中的 for 循环 当您确切地知道要循环执行代码块的次数时,可以使用 for 循环而不是 while 循环 for (语句 1; 语句 2; 语句 3) { // 要执行的代码块 } 语句 1 在执行代码块之前执行(一次)。 语句 2 定义执行代码块的条件。 语句 3 在执行代码块后执行(每次 ...

c++教程3控制结构与函数

3控制结构与函数 if switch for while 声明函数 传递参数 重载函数 优化函数 3.1 if C++ if 关键字执行基本的条件测试,对给定表达式进行布尔值(true 或 false)求值,其语法如下: if ( test-expression ) { statements-to- ...

C++ Qt开发:SqlRelationalTable关联表组件

博主头像 Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`SqlRelationalTable`关联表组件的常用方法及灵活运用。在上一篇文章中详细介绍了`SqlTable... ...

c++教程2操作符

2操作符 算数运算 赋值 比较 逻辑运算 条件检查 size 优先级 数据类型转换 2.1 算数运算 arithmetic.cpp #include <iostream> using namespace std; int main() { int a = 8, b = 4; cout << "Add ...

AtCoder Beginner Contest 复盘合集

博主头像 AtCoder Beginner Contest 复盘合集 修改链接 *2023.12.6 ABC312 VP(OI赛制) 这次的ABC相对比较难:红橙黄黄蓝绿绿,Ex(蓝) A link B 稍微麻烦一点。 link C 很水,直接Sort一遍即可。 link D 稍微思考,可以得出一个DP,准确 ...

auto{x}与auto(x)---一位中国小伙为cppreference作出的贡献

博主头像 C++作为一门静态类型语言,是需要程序员声明变量类型的。然而来到了C++11,auto的诞生使得变量声明变得及为方便,尤其是对于比较长的模板类型,auto一定程度上为代码编写者减轻了负担。到了C++23,突然来了个新特性:auto{x}/auto(x),这又是个什么东西,它的motivation又是 ...

C++ Qt开发:SqlTableModel映射组件应用

博主头像 Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`SqlTableModule`组件的常用方法及灵活运用。在多数情况下我们需要使用SQL的方法来维护数据库,但此方... ...

C++内存分配详解:栈、堆、静态存储区解析与实例演示

博主头像 概述:C++内存分配有栈、堆和静态存储区三种方式。栈自动管理,适用于局部变量;堆手动管理,使用new和delete;静态存储区适用于全局变量,具有整个程序生命周期。通过清晰的示例源代码,详细解释了它们的分配方法和使用步骤。 C++的内存分配涉及栈、堆和静态存储区,每种分配方式有其独特的特点。以下是对 ...

c++教程1快速入门

快速入门 欢迎来到令人兴奋的C++编程世界。本章将演示如何创建简单的C++程序,以及如何在程序中存储数据。 C++简介 安装编译器 编写第一个程序 编译和运行程序 创建变量 使用变量数组 使用向量数组 声明常量 1.1 C++ 简介 C++是C编程语言的扩展,早在1972年由Dennis Ritch ...

C++ Qt开发:TableView与TreeView组件联动

博主头像 Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`TableView`与`TreeView`组件联动的常用方法及灵活运用。本章我们继续实现表格的联动效果,当读者点... ...

C++ Qt开发:数据库与TableView多组件联动

博主头像 Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`TableView`组件与数据库联动的常用方法及灵活运用。在Qt中,通常我们不会在`TableView`等组件中... ...

C++ Qt开发:QSqlDatabase数据库组件

博主头像 Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`QSqlDatabase`数据库模块的常用方法及灵活运用。Qt SQL模块是Qt框架的一部分,它提供了一组类和函... ...

window下使用pybind11

首先下载python,并且将python配置到环境变量中,如果使用window的安装程序,可以勾选自动添加到环境变量。 下载pybind11源码,https://github.com/pybind/pybind11 使用cmake-gui工具配置vs工程,并生成include头文件目录和cmake目 ...

C++大内存分配错误

博主头像 C++无法分配大内存 当影像较大时,m和n是int类型时,char *a=new char[m*n]可能出现无法分配内存的错误 原因分析: 由于早期数据处理需求对内存需要较小,例如早期影像较小,影像长宽的积较小,char *a=new char[m*n]不会出错。时代变化,影像体积变大,老代码仍旧使 ...

<1···101112···35>