自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(575)
  • 收藏
  • 关注

原创 原来两个std::vector可以直接进行相等判断的吗?

2025年9月25日,周四晚上学了几年C++,今天才知道这个在 C++ 中,标准库已经为重载了==运算符,因此可以直接使用来判断两个向量是否相等,这非常方便。

2025-09-25 22:29:26 379

原创 std::optional<std::string>

2025年9月25日,周四上午是 C++17 引入的标准库类型,用于表示一个。简单来说,它是的 “可选容器”,既可以存储一个有效的字符串,也可以表示 “无值”(类似 “空” 的状态)。

2025-09-25 08:56:02 500

原创 Debian13为啥没预安装ifconfig?怎么安装ifconfig?

要使用ifconfig,需安装 ​​net-tools​​ 包。。若追求更现代和推荐的工具,请学习和使用 ​​ip​​ 命令。

2025-08-26 07:24:27 551

原创 Unity的Cursor.lockState

2025年8月24日,周日晚上这行代码在Unity中是​​。这是第一人称射击(FPS)、第三人称等类型游戏中实现视角控制的常用核心代码。下面这个表格能帮你快速了解三种不同鼠标锁定模式的区别:锁定模式 (CursorLockMode)光标行为可见性典型应用场景​​锁定在游戏窗口中心,无法移动。鼠标移动数据仍可通过获取。​​,无论设置为何值。FPS游戏、第一/第三人称视角控制​​光标可以自由移动,但被限制在游戏窗口的边界内,无法移出窗口。正常显示,或由控制。

2025-08-24 23:55:01 476

原创 Linux文件传输工具:lrzsz

2025年7月18日,周五早上以下是关于 Linux 中 lrzsz 工具的简介,结合核心功能、适用场景和注意事项整理:📦 lrzsz 是什么?lrzsz 是一个基于 ZMODEM 协议 的轻量级文件传输工具集,包含两个核心命令:• rz(Receive Zmodem):从本地计算机上传文件到远程 Linux 服务器。• sz(Send Zmodem):从 Linux 服务器下载文件到本地计算机。

2025-07-18 08:10:17 612

原创 用C语言模拟C++对象模型

2025年7月4日,周五上午在大型C语言项目中,通过模拟C++的面向对象特性(封装、继承、多态)可以显著提升代码质量和复用性。

2025-07-04 08:14:44 318

原创 gprof是什么

2025年6月29日,周日下午gprof是(GNU Profiler),主要用于分析C/C++等程序的性能瓶颈,通过统计函数调用次数、执行时间及调用关系,帮助开发者优化代码效率。

2025-06-29 13:59:29 429

原创 ​GCC/GNU编译器的 -pg 选项

2025年6月29日,周日下午-pg是提供的一个编译选项,主要用于在编译时插入性能分析(Profiling)代码,以便后续使用gprof工具分析程序的性能瓶颈。

2025-06-29 13:51:36 315

原创 Unity中的Mathf.Clamp

2025年6月22日,周日晚上Unity中的Mathf.Clamp是一个常用的静态方法,用于将数值限制在指定的范围内,确保其不会超出最小值和最大值的边界。

2025-06-22 21:59:30 596

原创 linux-headers-$(uname -r)和kmod是什么?

特性kmod主要用途内核开发/模块编译模块运行时管理关键内容头文件(.h)可执行工具(modprobe等)版本要求必须精确匹配内核版本需兼容内核版本典型路径/usr/src/linux-headers-版本/依赖关系是编译时的基础依赖管理运行时的模块依赖是否需要root安装时需要加载/卸载模块时需要理解这两个包的区别与联系,对于Linux系统管理、驱动开发和内核编程都至关重要。正确使用它们可以确保系统的稳定性和扩展性。

2025-06-16 07:28:41 1042

原创 什么是Ubuntu的Multipass

Multipass是开发者快速获取Ubuntu环境的理想工具,特别适合需要频繁创建和销毁测试环境的场景。它的轻量性、易用性和跨平台支持使其成为传统虚拟机工具的有力替代品,尤其适合云原生开发、持续集成和教育用途。对于Ubuntu生态的开发者而言,Multipass提供了一种近乎即时的Linux体验,极大提升了开发效率。

2025-06-16 07:16:16 683

原创 Unity中的BoxCollider2D的Is Trigger属性详解

2025年6月16日,周一清晨。

2025-06-16 07:13:58 1581

原创 如何在Windows上使用qemu安装ubuntu24.04服务器?

在Windows上使用QEMU安装Ubuntu 24.04需要完成环境配置、镜像准备、虚拟机创建及系统安装等步骤。通过上述步骤,可在Windows上快速部署Ubuntu 24.04虚拟。对于ARM架构的Ubuntu安装,需替换为。按照Ubuntu安装向导设置语言、分区、用户密码等。获取Ubuntu 24.04 Server的ISO镜像(如。使用VNC客户端(如TightVNC)连接。2025年6月15日,周日晚上。

2025-06-15 21:09:04 1747

原创 Unity中的transform.Translate

2025年6月15日,周日中午是 Unity 中用于移动游戏对象的常用方法,通过直接修改对象的坐标实现平移。

2025-06-15 13:40:36 518

原创 Linux嵌入式能做什么有用的事情?

Linux嵌入式系统的应用场景几乎覆盖了所有需要高性能、低功耗和实时响应的领域。其开源特性和强大的社区支持使得开发者能够快速定制解决方案,满足多样化需求。无论是个人项目还是企业级应用,Linux嵌入式系统都能提供可靠的技术支持。

2025-06-15 07:17:09 474

原创 微软在 Windows 平台上的桌面应用开发框架的发展历程

微软的桌面应用开发框架从最初的 Win32 API 到现代的 UWP 和 MAUI,经历了多个阶段的演变。每个阶段都引入了新的编程范式和技术,使得开发者能够更高效地创建功能丰富、美观和易于维护的应用程序。这些框架的不断发展反映了技术的进步和用户需求的变化,致力于提高开发效率和用户体验。

2025-06-14 10:27:08 957

原创 Unity中的Mathf.Lerp

参数:a:起始值(t=0 时返回的值)。b:目标值(t=1 时返回的值)。t:插值比例(通常范围 [0, 1])。介于 a 和 b 之间的浮点数。

2025-06-09 19:39:34 721

原创 Unity中的Time.fixedDeltaTime

Time.fixedDeltaTime 是物理模拟的固定时间间隔,默认值为 0.02s(即每秒 50 次物理更新)。它确保物理计算(如刚体运动、碰撞检测)在不同帧率下保持稳定,避免因帧率波动导致物理模拟不一致。

2025-06-09 19:16:13 438

原创 Unity中的Mathf.Clamp01

2025年6月8日,周日晚上Mathf.Clamp01 是 Unity 中的一个数学函数,它的作用是将一个浮点数(float)限制在的范围内。具体来说:如果输入值 小于 0,则返回 0。如果输入值 大于 1,则返回 1。如果输入值 在 0 和 1 之间,则 直接返回该值。

2025-06-08 23:56:05 649

原创 Unity中的transform.up

transform.up返回一个单位向量(长度为1),指向游戏对象当前旋转后的“上”方向(绿色轴)。与静态的Vector3.up(固定为世界空间的(0,1,0))不同,transform.up会考虑对象的旋转。例如,若对象倒置,transform.up可能指向世界空间的负Y轴。

2025-06-08 15:54:37 439

原创 在Unity中Update和Fixedupdate有什么区别

非物理逻辑用Update,物理逻辑用FixedUpdate。帧率敏感操作需依赖Time.deltaTime,而物理操作依赖固定时间步长。

2025-06-08 15:36:27 1005

原创 免费的添加水印工具

2025年6月8日,周日凌晨。

2025-06-08 01:01:40 373

原创 Linux Gnome壁纸

我个人蛮喜欢Gnome的简洁风壁纸的,特意记一下壁纸的链接。2025年6月7日,周六中午。

2025-06-07 12:09:40 446

原创 截止2025年,开源免费的大型跨平台GUI开发框架有哪些?

C++2025年6月1日,周日上午C++

2025-06-01 08:30:16 1649

原创 【TDengine源码阅读】taosMemoryDbgInit函数

2025年5月25日,周日上午defined&&!defined&&!defined这段代码是TDengine数据库的内存调试初始化函数,主要用于在Linux环境下(非Alpine Linux和TD_ASTRA系统)通过mallopt调整内存分配策略。Alpine Linux使用musl库而非glibc,可能不支持此配置。

2025-05-25 09:57:23 610

原创 【TDengine源码阅读】举例说明pthread_once_t和PTHREAD_ONCE_INIT

2025年5月25日,周日上午。

2025-05-25 09:32:07 810

原创 std::is_same

是编译时类型检查的核心工具,适用于泛型编程、类型安全校验等场景,强调精确的类型匹配逻辑。是 C++11 引入的模板元编程工具,用于在编译时判断两个类型是否完全相同。头文件中,属于类型特性(type traits)的一部分。• 严格类型匹配:忽略 CV 限定符(如。别名或完全相同的定义),则返回。2025年5月18日,周日晚上。• 别名识别:能识别通过。在编译时强制类型约束。

2025-05-18 21:32:02 446

原创 将C++类编译为JavaScript代码

使用工具链如Emscripten将C++代码(包括类)编译为WebAssembly(.wasm)和配套的JavaScript胶水代码。• 兼容性:现代浏览器均支持WebAssembly(Chrome 57+、Firefox 52+等)。推荐使用Emscripten编译为WebAssembly,这是最成熟高效的方案。• 性能:WebAssembly接近原生速度,适合计算密集型任务。可直接在浏览器中调用C++类的方法。2025年5月14日,周三深夜。命令编译C++类代码,生成。

2025-05-14 00:20:29 388

原创 C语言中的assert

是 C 语言中强大的调试工具,用于快速捕获程序中的非法假设。合理使用可提高代码可靠性,但需注意其适用场景(开发阶段)和局限性(不处理外部错误)。它的核心作用是检查程序中的假设条件是否成立,若条件不成立(即表达式为假),则立即终止程序并输出错误信息,帮助开发者快速定位问题。断言适用于检查不应发生的内部错误(如程序逻辑错误),而外部输入错误(如用户输入无效)应使用。确保循环或算法中的关键条件始终成立(如数组索引不越界)。快速捕捉开发阶段的逻辑错误,替代部分临时调试代码。若表达式为真(非零),

2025-05-13 21:50:27 737

原创 set(CMAKE_C_FLAGS “${CMAKE_C_FLAGS} -ansi -pedantic -Wall“)

启用严格标准检查,拒绝不符合 ANSI/ISO C 的代码(如零长度数组、GCC 扩展语法等)。:要求编译器遵循 ANSI C 标准(即 C89/C90),禁用非标准扩展。:启用所有常见警告(如未使用变量、类型不匹配等),帮助发现潜在问题。:CMake 中用于设置 C 编译器选项的变量。2025年5月13日,周二晚上。

2025-05-13 21:39:17 478

原创 C字符串的特点

• 手动管理:需显式处理内存分配/释放,易引发缓冲区溢出或内存泄漏。总结:C字符串高效但风险高,适用于底层开发;(ASCII值为0)结尾的字符数组。)内容不可修改,否则行为未定义。2025年5月13日,周二下午。• 字符数组:本质是以空字符。• 不可变性:字符串常量(如。• 操作依赖库函数:通过。

2025-05-13 17:33:03 715

原创 【TDengine源码阅读】从哪里开始看源码比较好?

2025年5月13日,周二清晨。文件开始看可能会比较好。

2025-05-13 07:57:53 217

原创 【TDengine源码阅读】DLL_EXPORT

这段代码是一个跨平台的宏定义,用于处理不同操作系统下动态库(DLL/SO)中函数的导出声明。◦ Linux/macOS的共享库(.so/.dylib)默认导出所有符号(除非显式隐藏)。为啥Linux和MacOS平台时宏为空,难道Linux和mac不用定义导出函数吗?• 设计差异:Windows的DLL需要显式声明导出/导入(通过。显式标记需要导出的函数/类,这是Windows特有的语法。• 扩展语法:Linux/macOS通过编译选项(如。)和属性控制可见性,而非关键字。Linux/macOS平台(

2025-05-13 07:51:32 514

原创 TDengine编译成功后的bin目录下的文件的作用

• RESTful接口服务,支持InfluxDB/OpenTSDB兼容协议,集成Telegraf等数据采集工具。• 数据备份与迁移工具,支持逻辑备份(导出为Apache Avro格式)和恢复。• 性能测试工具,支持对TDengine的写入、查询和订阅功能进行基准测试。• 代码评测工具,用于本地测试程序正确性和性能(如时间/内存消耗分析)。• 命令行客户端工具,用于连接TDengine服务器并执行SQL操作。• 原为独立项目,可能被集成到TDengine开发工具链中。客户端的别名存在,现已被统一整合到。

2025-05-13 07:37:16 1000

原创 【TDengine源码阅读】#if defined(__APPLE__)

是 C/C++ 中的条件编译指令,用于检查当前编译环境是否为苹果(Apple)平台(如 macOS 或 iOS)。该宏由苹果平台的编译器(如 Clang)自动定义,标识当前系统为苹果生态。总结:这段代码的作用是仅在苹果系统下编译后续代码,常见于需要适配多平台的程序。在预处理阶段,编译器会根据目标平台自动定义相关宏(如。:若条件为真(宏已定义),则编译后续代码;常用于跨平台代码中,针对苹果系统编写特定逻辑。等),条件编译指令据此选择性地保留或排除代码块。是编译器预定义的宏,不同于用户自定义宏。

2025-05-13 06:48:51 485

原创 【TDengine源码阅读】TAOS_DEF_ERROR_CODE(mod, code)

参考类似位操作宏的实现逻辑,这种设计在嵌入式或系统编程中常见,用于高效编码和解码错误信息。• 符号位:最高位固定为1,生成的错误码始终为负数,符合许多系统将负数作为错误码的惯例。• 这种设计常用于系统或库中,通过模块标识符和错误码的组合,快速定位错误来源。,表示最高位(符号位)为1,确保生成的错误码为负数(通常用于标识错误状态)。左移16位,使其占据第16~31位(共16位)。的值,占据低16位(第0~15位)。不超过16位),否则可能导致位溢出。,用于生成一个32位有符号整数((32位有符号整数)。

2025-05-13 06:38:32 658

原创 什么是时序数据库?

时序数据库(Time Series Database,TSDB)是一种专门用于高效存储、管理和分析时间序列数据的数据库系统。时间序列数据是指按时间顺序记录的数据点,通常包含时间戳和对应的数值或事件,广泛应用于物联网、工业监控、金融、气象等领域。时序数据库通过针对性的设计,解决了海量时间相关数据的存储和分析瓶颈,是数字化转型中的关键技术之一。• 工业物联网:监控设备状态(如温度、振动)、预测性维护。• 智慧城市:交通流量、环境监测(PM2.5、温湿度)。• 金融:高频交易数据分析、实时风险监控。

2025-05-13 06:16:32 709

原创 Clojure是啥?

Clojure由Rich Hickey于2007年设计,旨在提供一种实用的函数式语言,同时保持Lisp的表达力。Clojure是一种运行在Java虚拟机(JVM)上的现代Lisp方言,结合了函数式编程的强大功能和Java生态系统的无缝集成能力。• 内置软件事务内存(STM)、原子引用(atom)等工具,简化多线程编程。• 函数式编程:强调不可变数据结构、纯函数和高阶函数,减少副作用。• Lisp风格:语法简洁,使用括号表示代码块,支持宏和元编程。• 编译为JVM字节码,可直接调用Java类库。

2025-05-06 19:23:24 571

原创 【Qt】QUuid

QUuid是Qt框架中的一个类,用于生成和操作全局唯一标识符(Universally Unique Identifier, UUID)。否则依赖伪随机数生成器(可能降低唯一性保证)。• Windows:调用系统API生成GUID,确保唯一性。• 生成的UUID默认包含花括号,可通过参数调整格式。),确保在分布式系统中生成的ID几乎不会重复。方法判断UUID是否为空(未初始化)。• 数据库记录:作为主键避免冲突。• 文件命名:生成唯一文件名。• 网络通信:标识会话或消息。时,唯一性可能受限。

2025-05-06 11:38:12 364

原创 简介QML中的Canvas

QML中的Canvas是一个强大的绘图组件,允许开发者通过JavaScript在界面上进行动态的2D图形绘制。• 支持绘制基本图形(矩形、圆形、线条等)、文本、图像,以及像素级操作。元素,适用于实现自定义图形、动画、游戏开发以及图表绘制等场景。• 性能优化:分块渲染(瓷片系统)可提升大画布性能。)、样式控制(颜色、渐变、阴影)和合成效果。方法触发重绘,结合定时器可实现动画效果。监听用户输入,实现绘图板等交互应用。• 默认透明背景,需手动设置填充色。• 复杂动画建议使用硬件加速(如。• 提供路径操作(如。

2025-05-03 19:15:06 538

sqlite-amalgamation-3410200.zip (免积分)

官方下载页面:https://www.sqlite.org/download.html 此压缩包内含SQLite的C语言源码,有如下文件: 1、shell.c 2、sqlite3.c 3、sqlite.h 4、sqlite3ext.h 官网下载比较慢,所以我上传到这。 祝大家下载愉快。

2023-04-08

SQLite下载 免积分 Windows平台 64位

官网下载 : https://www.sqlite.org/download.html 内包含两个压缩包: sqlite-dll-win64-x64-3410200 sqlite-tools-win32-x86-3410200 官网下载速度太慢了,所以我在官网下载后发布了出来,以提高大家的下载速度。 祝大家下载愉快。 附SQLite安装和使用教程: https://blog.youkuaiyun.com/GoodburghCottage/article/details/123771276?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168049813516800211549024%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168049813516800211549024&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaid

2023-04-03

Windows平台 C++ Boost 1.81.0下载

平台:Windows 文件名:boost_1_81_0.zip 官方网站:https://www.boost.org/ 官方下载地址:https://www.boost.org/users/download/ 使用教程:https://blog.youkuaiyun.com/doubleintfloat/article/details/123061700 其他说明:因为在官网下载非常慢,所以我从官网下载完后上传到了优快云,以便大家可以快速下载。最后祝大家下载愉快。

2023-03-26

空空如也

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

TA关注的人

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