logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Qt中mysql和达梦数据库的驱动编译详细步骤

本文详细介绍了在Qt中编译MySQL和达梦数据库驱动的完整流程。内容包括:1) 环境准备(安装Qt源码、MySQL客户端库和达梦数据库);2) Windows和Linux平台下MySQL驱动的编译步骤(修改配置文件、执行qmake/make、安装驱动);3) 达梦数据库驱动的编译方法;4) Qt6中使用CMake方式编译数据库驱动的特殊步骤。文章提供了详细的配置文件修改示例和测试代码,并强调了环境

文章图片
#mysql#qt
达梦数据库在Linux备份报错 -8003: 缺少本地或者远程归档 解决方案

摘要:在Ubuntu上调试达梦数据库备份时出现错误,主要原因包括未开启归档模式、归档路径配置无效或权限不足。解决方法包括:1) 检查归档状态,确认是否开启;2) 创建归档目录并配置正确路径;3) 验证归档配置生效后重新执行备份。备选方案包括检查权限与目录、使用冷备份(无需开启归档)或检查dmarch.ini配置文件。操作需SYSDBA权限,建议在业务低峰期执行。

文章图片
#数据库#c++
std::vector<T>到QVector<T>的数据复制方案

本文介绍了5种高效实现std::vector到QVector转换的方法:1. Qt官方接口(Qt5.15+/Qt6):QVector::fromStdVector()直接深拷贝,逆向使用toStdVector();2. 移动语义(最优性能):通过std::make_move_iterator转移资源,避免元素拷贝;3. POD类型极致优化:利用memcpy整块内存复制,仅适用于基础数据类型;4.

文章图片
移动构造不标 noexcept,std::vector 扩容就会悄悄退化成拷贝

文章摘要: C++中noexcept关键字对STL容器性能影响显著。实验显示,std::vector扩容时,若元素移动构造未标记noexcept,会退化为拷贝构造(耗时激增130倍),因标准库通过std::move_if_noexcept保障异常安全。析构函数是唯一默认隐式noexcept的特殊成员,而用户手写的移动构造/赋值默认不带noexcept,需显式声明以优化性能。最佳实践:对不会抛异常的

文章图片
#算法
cereal 库:C++ 序列化的轻量之选

Cereal是一个专为C++11及以上版本设计的轻量级头文件序列化库,支持二进制、XML和JSON格式。它无需外部依赖,直接包含头文件即可使用,具有高性能(二进制序列化接近memcpy速度)、类型安全和多态支持等特性。支持侵入式和非侵入式两种接入方式,提供版本控制和Split Save/Load功能,能优雅处理schema变更。内置对STL容器和智能指针的支持,性能测试显示其二进制格式比Boost

文章图片
#c++#开发语言
C++算法之std::inplace_merge:合并两个连续的排序子序列

std::inplace_merge是C++标准库中的高效原地合并算法,用于将两个连续有序子序列合并为一个整体有序序列,无需额外空间。其核心通过分治和旋转操作实现,时间复杂度O(nlogn),空间复杂度O(logn)。相比std::merge,它牺牲部分效率换取内存优化,适用于嵌入式等内存受限场景。使用时需确保输入子序列已排序,并支持自定义比较器。典型应用包括归并排序、合并分块数据等。该算法稳定保

文章图片
#算法#c++#数据结构
C++回调函数的设计以及调用者应注意的问题

本文介绍了C++中回调函数的设计与实现。回调函数通过函数指针、std::function等方式实现,用于解耦调用者与被调用者。现代C++推荐使用std::function,支持lambda、成员函数等多种调用方式。参数设计应遵循最小化原则,明确输入输出方向,复杂数据建议封装为结构体。多线程环境下需特别注意线程安全问题,包括回调对象加锁、生命周期管理及异常处理。合理设计的回调能提升代码灵活性,是事件

文章图片
#c++#数据结构#算法
C++类型转换通用接口设计实现

本文提出了一种基于类型擦除和适配器模式的C++通用类型转换接口设计。核心思路是通过抽象基类AbstractConverterFunction定义统一转换接口,使用模板子类适配不同转换逻辑(成员函数、带校验函数、lambda等)。实现采用void*类型擦除技术,在子类中通过静态类型转换确保安全。该系统支持动态管理多种转换器,通过基类指针统一调用,适用于需要灵活处理多种类型转换的场景,如框架开发或数据

文章图片
#开发语言
Fruit框架:C++依赖注入解决方案

Fruit是一个轻量级C++依赖注入框架,基于C++11特性实现编译时依赖检查。它通过组件(Component)声明依赖关系,由注入器(Injector)自动解析创建对象。核心特性包括:支持接口绑定、单例模式、延迟初始化;编译时验证确保类型安全;无运行时开销。安装可通过包管理器(vcpkg/apt/brew)或源码编译。使用步骤:1)用INJECT标记构造函数)定义组件绑定接口与实现)创建注入器获

文章图片
#c++#开发语言
C++中的那些零拷贝技术

零拷贝技术是一种高效的数据传输优化方法,旨在减少内存中的冗余拷贝,提升性能并降低CPU和内存开销。在C++中,零拷贝技术可分为内核态和用户态两类。内核态零拷贝通过sendfile、splice、mmap等技术实现数据在内核态的直接流转,避免用户态与内核态之间的拷贝开销,适用于文件传输、网络通信等场景。用户态零拷贝则通过引用语义、移动语义、智能指针、字符串视图等技术优化内存操作,减少数据复制。本文详

文章图片
#后端开发
    共 154 条
  • 1
  • 2
  • 3
  • 16
  • 请选择