自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (1)
  • 收藏
  • 关注

原创 停止维护-迁移到掘金

停止维护-迁移到掘金。

2025-06-28 22:41:03 173

原创 zlib库使用

根据传入的文件路径,打开/创建一个zipFile文件。关于其参数:① const char *pathname:需要打开/创建的压缩文件路径,比如F:/dump.zip② int append:参数,其取值有以下三种:// APPEND_STATUS_CREATE 不存在就创建,存在就截断(清空)// APPEND_STATUS_ADDINZIP 不存在打开失败,存在就追加(原本压缩包中的内容不清空)// APPEND_STATUS_CREATEAFTER 不存在打开失败,存在就截断(清空)

2025-06-25 15:21:17 1104

原创 lz4库使用

优点:不用编译库,直接复制lz4.h、lz4.两个文件到项目中即可.simple_buffer.c是调用案例,不用拷贝.lz4.h、simple_buffer.c、liblz4_static.lib(调用静态库)lz4.h、simple_buffer.c、liblz4.lib(调用动态库)lz4.h、lz4.c、simple_buffer.c(源文件编译)优点:不用编译库,直接复制lz4.h、lz4.两个文件到项目中即可../lz4 -d README.md.lz4(解压文件)

2025-06-24 22:50:51 359

原创 log4cplus调用

注意:编库时要注意字符集, window一般选择Unicode注意:导入动态库时,开发环境是release版本对应release库,debug版本对应debug库Layouts :控制输出消息的格式。Appenders :输出位置。Logger :日志对象。Priorities :优先权,包括TRACE, DEBUG, INFO, WARNING, ERROR, FATAL。

2025-06-24 22:40:23 685

原创 log4cplus库编译

在对应的vs平台编译即可,生成库时要注意字符集,需要和调用平台一致,否者存在编译问题。下载最新的版本log4cplus-2.0.6。

2025-06-24 22:28:24 312 1

原创 libarchive压缩解压文件

项目实现:untar.c。

2025-06-24 22:22:56 457

原创 jsoncpp-src-0.5.0编译

【代码】jsoncpp-src-0.5.0编译。

2025-06-24 22:18:09 274

原创 7z-第三方库

将 subdir\ 文件夹中的所有文件加入到 walterlv.zip 文件中,所有的子文件和文件夹将会在压缩档案的 subdir 文件夹中。-scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}}:设置列表文件的字符集。-r[-|0]:递归子目录搜索名称, 比如 -r *ini 或者-r path/*r - x [[- | 0]] {@listfile |!通配符}:排除文件名。

2025-06-24 22:12:07 940

原创 RTMP消息(chunk data)

​ 提供了底层的传输优化机制。​ 定义了应用数据的结构和语义,而 ​。

2025-04-25 00:41:31 284

原创 RTMP分块(chunk)

块大小128Byte-65536Byte大分块cpu负载降低,在低带宽环境传输会延迟;小分块延迟低,但cpu消耗大,不利于高码率传输。

2025-04-24 01:41:33 384

原创 RTMP握手流程(传输层)

使用TCP,当到达网络拥塞、宽带上限时,传输质量受到影响。不支持除H.264/AAC之外的标准。

2025-04-19 21:45:56 320

原创 vs2017开启性能探测器失败

Microsoft.DiagnosticsHub.Diagnostics.CollectionStartFailedHubException”的异常。最后发现是Visual Studio Standard Collector Service 150无法启动导致的。无法启用性能探测器服务没有及时响应启动或控制请求。(HRESULT: 0xe1110002)最后无奈,只能用virsual studio installer修复,2.开启各种诊断服务,漫长的测试。文件存在, 却启动失败。修复后,就可以进入诊断了。

2025-03-28 17:01:42 1147

原创 SDL崩溃

详细加载微软雅黑字体库C:\Windows\Fonts\msyh.ttc时(开源库*STB*)初始化stbtt_InitFont失败,stbtt_fontinfo *info->index_map未初始化。初始化失败却仍然将微软雅黑字体库加入,所以当index_map等于0时不会崩溃,不为0时内存访问越界崩溃。原因是:TTF_OpenFont-stbtt_InitFont-stbtt_InitFont_internal初始化字体库失败,但是仍然加入进来。

2025-03-28 10:36:56 200

原创 Qt Concurrent Filter and Filter-Reduce

QtConcurrent::filter()、QtConcurrent::filtered() 和 QtConcurrent::filedReduced() 函数并行过滤序列中的项目,如。QtConcurrent::filter() 就地修改序列,QtConcurrent::filtered() 返回包含过滤内容的新序列,QtConcurrent::filteredReduced() 返回单一结果。这些函数是框架的一部分。上述每个函数都有一个阻塞变体,它返回最终结果而不是。使用它们的方法与异步变体相同。

2025-03-25 20:35:55 1028

原创 Qt Concurrent 并发 Map 和 Map-Reduce

上述每个函数都有一个阻塞变体,它返回最终结果而不是。使用它们的方法与异步变体相同。请注意,上述结果类型不是对象,而是真正的结果类型(本例中为<QImage> 和 QImage)。

2025-03-25 20:19:20 1434

原创 QtConcurrent::run并发

在调用 QtConcurrent::run() 时,会复制每个参数,这些值会在线程开始执行函数时传递给线程。在重载函数的情况下,用户需要明确指定结果类型作为模板参数传递给 QtConcurrent::run(),例如。向函数传递参数的方法是将参数添加到 QtConcurrent::run() 调用中,紧跟在函数名称之后。,因此用户在此模式下调用 QtConcurrent::run() 时无需实例化它,也无需明确传递它。QtConcurrent::run() 函数在单独的线程中运行一个函数。

2025-03-25 19:41:09 1201

原创 Qt 线程类

Qt 的线程类是用本地线程 API 实现的,如 Win32 和 pthreads。因此,它们可以与相同本地 API 的线程一起使用。QtFuture::WhenAnyResult 用于表示 QtFuture::whenAny() 的结果。存储 QFuture 可访问的计算结果的方法。简化锁定和解锁读写锁(用于写访问)的便利类。对指针进行独立于平台的原子运算的模板类。简化读取访问的读写锁锁定和解锁的便利类。在独立线程中运行任务的可配置方式。简化锁定和解锁互斥的便利类。与平台无关的线程管理方式。

2025-03-25 17:49:32 465

原创 Qt 线程和 QObjects

QThread 继承于 QObject。它发出信号来指示线程开始或结束执行,并提供一些插槽。更有趣的是,QObjects 可以在多个线程中使用,发出信号以调用其他线程中的插槽,并向 "生活 "在其他线程中的对象发布事件。之所以能做到这一点,是因为每个线程都可以拥有自己的事件循环。

2025-03-25 17:24:42 1074

原创 Qt 重入和线程安全

在整个文档中,"重入"和 "线程安全 "这两个术语被用来标记类和函数,以表明它们在多线程应用程序中的使用方式:线程安全重入因此,线程安全的可重入的可重入的线程安全的推而广之,如果一个类的成员函数可以被多个线程安全调用,只要每个线程使用的是该类的不同,那么这个类就是可重入的。如果可以从多个线程安全地调用类的成员函数,即使所有线程都使用类的相同,该类也是线程安全的。只有当 Qt 类被多个线程使用时,才会被记录为线程安全。如果函数未标记为线程安全或可重入,则不应在不同线程中使用。

2025-03-24 20:27:40 1146

原创 Qt 隐式共享

共享类由指向共享数据块的指针组成,共享数据块包含引用计数和数据。每当有新对象引用共享数据时,引用计数就会递增,而当对象取消引用共享数据时,引用计数就会递减。当引用计数变为 0 时,共享数据将被删除。在处理共享对象时,有两种复制对象的方法。我们通常说的是深拷贝和浅拷贝。深度拷贝意味着复制一个对象。浅层拷贝是引用拷贝,即只是指向共享数据块的指针。深度拷贝需要耗费大量内存和 CPU。浅层拷贝的速度非常快,因为它只需要设置一个指针并增加引用计数。

2025-03-24 19:57:56 984

原创 Qt qtcreator配置cmake

选择可以将其设置为默认,如此新建的kit会自动选择默认cmake。

2025-01-03 18:18:12 2269

原创 自我的认知

认知是指人们获得知识或应用知识的过程,或信息加工的过程,这是人的最基本的心理过程。它涉及感觉、知觉、记忆、思维、想象和语言等多个方面,是人脑接受外界输入的信息,经过加工处理,转换成内在的心理活动,进而支配人的行为的过程。

2024-12-31 21:40:26 1191

原创 wsl安装Linux环境

wsl --install安装 WSL 和 Linux 的默认 Ubuntu 发行版。

2024-12-15 15:52:23 289

原创 Qt Linguist手册-翻译员

Qt Linguist 是为 Qt 应用程序添加翻译的工具。一旦安装了 Qt,就可以像开发主机上的其他应用程序一样启动 Qt Linguist。翻译区域 (1) 始终可见。要显示或隐藏其他视图,请选择视图 > 视图,或使用上面列出的键盘快捷键。您可以通过标题栏拖动视图,将它们排列在翻译区域周围,甚至主窗口之外。

2024-09-30 20:05:22 1547

原创 Qt Linguist手册

Qt 为将 Qt C++ 和 Qt Quick 应用程序翻译成当地语言提供了出色的支持。发布经理、翻译和开发人员可以使用 Qt 工具来完成他们的任务。有关支持的语言和书写系统的更多信息,请参阅。

2024-09-30 20:03:39 1543

原创 Qt CMake

CMake 是一款用于简化跨不同平台开发项目的构建流程的工具。CMake 可自动生成构建系统,如 Makefile 和 Visual Studio 项目文件。CMake 是一个第三方工具,有。本主题介绍如何在 Qt 5 中使用 CMake 3.1.0。

2024-09-29 21:01:51 2133

原创 QT错误集合

1.跳过被禁用的步骤 Make。情况:无法重新构建项目。原因是:禁用的make。

2024-09-29 18:32:57 290 1

原创 2D 图形绘制与 QPainter

QPainter 提供了绘制向量图形、文本和图像到不同表面(如 QImage、QOpenGLPaintDevice、QWidget 和 QPrinter 等 QPaintDevice 实例)的 API。实际的绘制操作在 QPaintDevice 的 QPaintEngine 中进行。QPaintEngine 中最重要的两个实现是软件光栅化器和 OpenGL (ES) 2.0 后端。软件光栅化器是 Qt 的软件光栅化器,用于在 QImage 或 QWidget 上绘制时使用。

2024-09-27 10:15:41 1224

原创 Qt-qmake语言

许多qmake项目文件只是使用name = value和name += value定义列表来描述项目使用的源文件和头文件。Qmake还提供了其他操作符、函数和作用域,可用于处理变量声明中提供的信息。这些高级特性允许从单个项目文件为多个平台生成makefile。在许多项目文件中,可以使用赋值(=)和append(+=)操作符来包含项目的所有信息。典型的使用模式是将一个值列表赋值给变量,然后根据各种测试的结果添加更多的值。由于qmake使用默认值来定义某些变量,因此有时需要使用删除(-=)操作符来过滤掉不需要的

2024-09-23 21:42:21 1346

原创 Qt-qmake概述

qmake工具为您提供了一个面向项目的系统,用于管理应用程序、库和其他组件的构建过程。这种方法使您能够控制使用的源文件,并允许简洁地描述过程中的每个步骤,通常在单个文件中。qmake将每个项目文件中的信息扩展为一个Makefile,该Makefile执行编译和链接所需的命令。

2024-09-23 20:18:39 678

原创 Qt-拖放

是世界上几乎所有语言的文本编码标准。现在,在大多数现代操作系统上,它被用作文本的本地编码。主要的例外是Microsoft Windows,它仍然有一个双重系统,支持代码页和应用程序的Unicode。

2024-09-23 16:33:00 1272

原创 Qt Model/View之代理

并利用这些函数的默认实现。委托编辑器可以。

2024-09-14 17:16:18 1268

原创 QT Mode/View之View

在模型/视图架构中,视图从模型中获取数据项并将它们呈现给用户。数据的表示方式不必与模型提供的数据表示形式相似,而且可能与用于存储数据项的底层数据结构完全不同。通过使用QAbstractItemModel提供的标准模型接口和QAbstractItemView提供的标准视图接口,以及使用通用方式表示数据项的模型索引,实现了内容与表现的分离。视图通常管理从模型中获得的数据的总体布局。它们可以自己渲染单个数据项,或者使用委托来处理渲染和编辑功能。除了显示数据,视图还处理项目之间的导航,以及项目选择的一些方面。

2024-09-14 14:44:40 1292

原创 Qt Model/View之Model

模型索引以一种独立于任何底层数据结构的方式向视图和委托提供关于模型所提供的项目位置的信息。元素项通过行号和列号以及父元素项的model索引进行引用。模型索引是由模型根据其他组件(如视图和委托)的请求构建的。如果在使用index()方法请求索引时为父元素指定了有效的模型索引,则返回的索引指向模型中父元素下面的元素。获得的索引指向该项的一个子项。如果在使用index()方法请求索引时,为父元素指定了无效的模型索引,则返回的索引指向模型中的顶层元素。角色区分与项相关联的不同类型的数据。

2024-09-12 20:46:18 1342

原创 Qt Model/View概述

委托在委托类一节中描述。

2024-09-10 14:43:03 1468

原创 Qt-布局管理

Qt包含了一组布局管理类,用于描述窗口组件在应用程序用户界面中的布局方式。当可用空间发生变化时,这些布局会自动定位和调整窗口组件的大小,确保它们的排列一致,并且用户界面作为一个整体保持可用。所有QWidget子类都可以使用布局来管理它们的子组件。函数QWidget::setLayout()为部件应用布局。子部件的定位合理的窗口默认大小合理的窗口最小尺寸调整处理内容变更时自动更新:子部件的字体大小、文本或其他内容隐藏或显示子部件移除子部件。

2024-09-06 20:43:47 1366

原创 Qt-桌面服务和托盘

t应用程序在用户的桌面环境中表现良好,但某些集成需要额外的,有时是特定于平台的技术。Qt中的各种类旨在帮助开发人员将应用程序集成到用户的桌面环境中。这些类使开发人员能够在使用跨平台API的同时利用原生服务。

2024-09-06 19:49:29 679

原创 Qt 应用程序主界面

主要窗口类的概述这些类提供了典型现代主应用程序窗口所需的一切,如主窗口本身、菜单和工具栏、状态栏等。菜单小部件,用于菜单栏、上下文菜单和其他弹出式菜单。

2024-09-05 21:47:17 1317

原创 Qt-高DPI显示器

与标准DPI显示器相比,高DPI显示器增加了像素密度。像素密度以每英寸点数(DPI)或每英寸像素(PPI)来衡量,由显示像素的数量和它们的大小决定。因此,单独的像素数量不足以确定显示器是否属于高dpi类别。4K显示器有固定的像素数(约8米),但它的DPI在185(23英寸)和110(40英寸)之间变化。前者是标准96 DPI桌面分辨率的两倍左右;后者仅略高于这个分辨率。

2024-09-05 21:15:40 1848

原创 jemalloc分析内存

分析内存泄漏过程中, 由于tcmalloc不能长时间开启heap profile(会不停涨内存,导致内存爆掉).尝试换jemalloc.程序运行后查看是否挂载了jemalloc。

2024-08-03 16:27:04 1135

channel-v3.json

解决sublime Text3 package control 出现There are no packages available for installation

2018-03-14

磁盘出错无法进入系统fsck自动修复配置

错误 /dev/sda5: UNEXPECTED INCONSISTENCY; RUN fSCK MANUALLY. (i.e., without -a or -p options) fsck exited with status code 4 (initramfs

2024-03-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除