- 博客(69)
- 资源 (5)
- 收藏
- 关注
原创 GB2312/GBK是字符集吗
它们不仅定义了可表示的字符范围,还规定了这些字符在计算机中的二进制存储格式。,为每个字符分配一个唯一的编号(称为。它们的编号和存储规则是绑定的,因此。
2025-04-24 11:27:28
705
原创 GB2312/GBK 与 Unicode 的关系
它们是独立的中文字符编码标准,与 Unicode 属于不同的体系,但可以通过转换规则与 Unicode 互相对应。虽然二者不属于同一体系,但可以通过。
2025-04-24 11:26:19
338
原创 Unicode和 ASCII码以及UTF-8编码的区别和联系
Unicode、ASCII 和 UTF-8 是计算机编码领域的关键概念,它们既有联系又有区别。
2025-04-24 11:25:16
563
原创 Unicode编码
是计算机行业的标准,用于对世界上大多数文字系统进行统一的编码、表示和处理。它为每个字符分配一个唯一的数字(称为。),不受平台、程序或语言的限制。
2025-04-24 11:24:01
297
原创 Qt 的 plugins/codecs 目录
是 Qt 框架中用于存放文本编解码器插件的重要目录。这个目录包含了 Qt 应用程序用于处理不同字符编码的插件。
2025-04-15 01:41:25
335
原创 qt中,父类中有Q_OBJECT,子类中还需要加Q_OBJECT吗
若扩展了元对象系统功能(信号/槽/属性),则必须添加;为保持代码清晰,即使暂时不需要,显式添加。在 Qt 中,关于子类是否需要添加。如果子类满足以下任一条件,
2025-04-14 16:32:39
461
原创 Qt 自带的QSqlDatabase 模块中使用的 SQLite 和 SQLite 官方提供的 C 语言版本(sqlite.org)对比
Qt 自带的模块中使用的 SQLite 和 SQLite 官方提供的 C 语言版本(sqlite.org)在核心功能上是相同的,但它们在集成方式、API 封装、功能支持以及版本更新上存在一些区别。
2025-04-08 10:55:12
834
原创 同样是虚函数,为什么普通虚函数不会自动调用基类的虚函数,而虚析构函数会自动调用基类的?
普通虚函数和虚析构函数在调用基类函数时存在差异,主要原因如下:
2025-04-06 22:27:22
344
原创 VS中动态库(外部库)导出与使用
在 C++ 中,动态库(Dynamic Link Library, DLL)允许模块化开发,运行时加载共享代码。正确导出和使用动态库可以大幅提高代码的模块化和复用性。在 Linux/macOS 上,动态库是。(Shared Object)或。在头文件中定义一个宏,用于控制。在 DLL 项目中,使用。(编译 DLL 时)和。
2025-04-03 00:22:39
952
原创 error LNK2019: 无法解析的外部符号 __imp__XXXX,该符号在函数xxxxx中被引用
这个链接错误表明在编译过程中,链接器无法找到XXXX函数的实现。
2025-04-02 23:56:08
600
原创 C++动态库对外接口通过接口方式实现
2. 实现导出函数 (ShapeExports.cpp)3. 修改实现类 (Circle.h/Rectangle.h)关键改造点导出符号控制:C语言接口导出:隐藏实现细节:内存管理:二进制兼容性:编译命令示例:使用动态库的客户端代码客户端编译链接WindowsLinux/macOS最佳实践建议版本控制:在接口中添加版本信息错误处理:考虑添加错误码返回机制ABI稳定性:避免修改已发布的接口跨模块内存:所有内存分配/释放应在同一模块中完成异常安全:禁用异常或明确异常规
2025-04-02 20:34:44
852
转载 在C++98中将类内的函数指针成员提供给其他类调用
静态函数桥梁:简单直接,但需要额外静态函数成员函数指针:直接使用成员函数指针,语法稍复杂接口类:更面向对象,推荐用于复杂场景仿函数:灵活但需要更多代码在C++98中,接口类方法通常是最推荐的方式,因为它提供了更好的类型安全性和扩展性。如果只需要简单的回调,成员函数指针方法也可以工作得很好。注意在真实代码中要考虑对象生命周期管理,避免悬空指针等问题。
2025-03-26 11:07:19
28
转载 C++继承模板库-引发符号冲突
符号冲突可能减少(但仍然有风险,尤其是不同版本的 Qt)。,改用组合或 PIMPL,否则可能引发难以调试的运行时错误!,从而引发符号冲突(symbol clash)。时,会导致 QList<QVariant>如果必须继承,可以用。
2025-03-25 14:15:35
24
原创 c++中类字段放到堆上还是栈上
如果类的字段是指针或动态分配的内存,则指针本身存储在对象所在的内存区域(栈或堆),而指针指向的内存可以位于堆上。通过以上分析,可以清楚地理解 C++ 中类字段的存储位置及其管理方式。在 C++ 中,类的字段(成员变量)的存储位置(堆或栈)取决于。当对象在栈上创建时,其所有字段(成员变量)也存储在栈上。当对象在堆上创建时,其所有字段(成员变量)也存储在堆上。,而不是字段本身的定义。以下是对这些情况的详细说明和示例。
2025-02-17 18:09:42
380
原创 c++ 引用
在 C++ 中,引用 是一种别名机制,它为变量提供了一个别名(alias),使得通过引用可以间接访问原始变量。引用的底层实现通常是通过 指针 来完成的,但引用在语法上更加直观和安全。为了帮助你理解引用如何实现间接寻址以及与实参的关联,我将通过文字描述和结构图来说明。引用的间接寻址机制可以通过以下步骤理解:定义引用:这里, 是 的别名,底层可能是一个指向 的指针。通过引用访问变量:这相当于通过指针 来修改 的值。引用的本质:以下是一个结构图,展示了引用如何通过间接寻址与实参关联:
2025-02-17 17:56:31
445
原创 查看cpu数与线程数
NumberOfLogicalProcessors :线程数。NumberOfCores : cpu核心数。查看cpu数与线程数。
2024-06-05 11:51:02
313
原创 QT debug编译失败:xxx/bin/ld.exe: cannot find -lxxd1
原因:由于编译时,使用debug模式下,动态库没有对应的lxxd1中的xx库。解决方案2:在引用的三方pri文件中,去掉多余的d。解决方案1:改为release编译;,可以看到编译需要使用的文件明。QT中的.pro文件中,搜索。
2024-03-04 20:06:13
418
原创 QObject::connect: signal not found in QPushButton
QObject::connect: signal not found in QPushButton
2023-11-20 17:20:12
674
原创 笔记本休眠后耳机没声音了怎么解决
双击 C:\Program Files (x86)\Hotkey\InitHeadphone.exe。安装hotkey驱动之后。
2023-05-26 00:11:21
1342
1
原创 WebStrom文件页签不可见问题
1.打开Window->Editor Tabs->Configure Editor Tabs。问题:WebStrom文件页签不可见,无法关闭文件,如下图。2.设置Tab placement为Top。
2023-05-18 22:22:50
185
原创 VSCode打开项目乱码
2.搜索encoding,勾选文件自动猜测编码格式【Auto Guess Encoding】1.打开VSCode–>文件–>首选项–>设置。3.vscode查看原来乱码的文件是否正常显示。
2023-05-18 11:38:05
647
原创 安排软件保护服务在 2022-07-26T23:00:43Z 时重新启动成功。原因: RulesEngine
安排软件保护服务在 2022-07-26T23:00:43Z 时重新启动成功。原因: RulesEngine
2022-07-15 09:30:45
30448
原创 error MSB6006 : “lc.exe”已退出,代码为-1
问题:error MSB6006 : "lc.exe”已退出,代码为-1解决方法:本场景在使用DevExpress组件中用到,需要将Properties下的License文件删除
2022-05-18 15:33:47
2608
4
原创 C# string获取byte长度(汉字按2byte计算)
目的1.获取中英文混合下的字符串byte长度,中文字符占2byte,英文占1byte实现//方法1,Encoding.Default为UTF-8时,未达到预期Console.WriteLine(Encoding.Default.GetBytes("12345678").Length);//8Console.WriteLine(Encoding.Default.GetBytes("啊啊啊啊").Length);//12Console.WriteLine(Encoding.Default.Encod
2022-04-25 10:19:30
2464
转载 c#实现深拷贝的几种方式及效率对比
转自:https://www.quarkbook.com/?p=1210c#实现深拷贝的几种方式及效率对比1、手写创建对象2、反射3、序列化4、AutoMapper5、表达式树表达式树深拷贝代码:using AutoMapper;using System;using System.Collections.Generic;using System.Diagnostics;using System.IO;using System.Linq.Expressions;using Sys
2022-03-23 13:51:48
1384
原创 VisualStudio(vs)如何忽略项目编译
1.菜单栏:生成(build)->配置管理器(Configuration Manager);2.选择对应的模式(Debug/Release)、平台(x64/x86);3.修改对应项目是否编译*不勾选生成后,项目进行编译时会自动跳过,主动编译也会跳过当前项目的编译...
2022-03-16 17:46:59
2880
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人