- 博客(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
原创 如何在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
原创 【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
原创 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源码阅读】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 (免积分)
2023-04-08
SQLite下载 免积分 Windows平台 64位
2023-04-03
Windows平台 C++ Boost 1.81.0下载
2023-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅