- 博客(629)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 C++中wchar_t的发展历史
时期角色与状态C90诞生期,为解决多字节编码而生,定义为typedef,细节实现定义。C++98鼎盛期,成为关键字和基本类型,拥有完整的标准库支持。2000s分裂期,Windows(16位/UTF-16)和 Unix(32位/UTF-32)实现分裂,可移植性差。C++11衰落期,被更明确、可移植的char16_t和char32_t取代。现代C++遗留期。主要价值在于与旧平台API(特别是Windows API)的兼容。
2025-08-30 21:15:39
931
原创 C++ 14标准中,当基本数据类型不带signed 或者unsigned时,默认是signed 还是unsigned?
数据类型默认符号性标准依据char实现定义有符号§3.9.1无符号§3.9.1short有符号§3.9.1int有符号§3.9.1long有符号§3.9.1long long有符号§3.9.1✅ C++14 默认符号性规则•shortintlonglong long→ 有符号•char→ 实现定义(编译器决定)⚠️ 关键建议1.重要代码中显式声明符号性2.
2025-08-30 20:30:58
876
原创 3.9.1 Fundamental types 2
•层级分明:5种标准类型形成严格大小层级•开放扩展:允许编译器添加新类型•性能导向int作为性能最优的默认选择•专用优化:其他类型解决特定场景需求理解这一体系对编写高效、可移植的C++代码至关重要,特别是在涉及跨平台开发、嵌入式系统或高性能计算时。新代码应优先使用int和固定宽度类型(int32_t等),仅在必要时使用其他类型。
2025-08-30 19:48:28
862
原创 3.9.1 Fundamental types 5
核心结论:C++11通过此条款在保留wchar_t兼容性的同时,用解决了历史遗留的跨平台字符处理问题。新代码应优先使用后者,仅在对接系统API时使用wchar_t。
2025-08-30 18:38:33
541
原创 C++中wchar_t、char16_t、char32_t三者的区别
以下内容来自腾讯元宝。在C++中,wchar_tchar16_t和char32_t都是用于表示宽字符的数据类型,但它们有不同的特性和用途。
2025-08-28 22:54:35
767
原创 Powershell中直接执行包含空格路径时特殊处理
在 PowerShell 中,(调用操作符)是用于执行命令、脚本或可执行文件的关键符号。当路径包含空格或特殊字符时,必须使用来正确解析和执行。
2025-08-27 21:03:28
261
原创 Windows系统安装MinGW-w64
如果你的代码需要与Windows平台的特性紧密集成,或者你的程序主要运行在Windows上,SEH可能是一个更好的选择。.7z这是文件的压缩格式。如果你的程序需要在这些系统上运行,或者你的代码依赖于POSIX API,你应该选择带有posix的工具链。如果你的程序主要面向Windows用户,或者你的代码依赖于Windows特有的API,你应该选择带有win32的工具链。如果你的代码依赖于msvcrt特有的API,或者你需要确保你的程序能在较旧的Windows版本上运行,msvcrt可能更适合你。
2025-08-26 19:35:27
953
原创 Qt Creator的安装
问题分析:最新版本的Qt6.9.1需要Clang 19.0.0或更新版本的编译器,我之前应该没有下载Clang,下载一个最新版本的安装即可。可以选择qmake,qmake是qt自带的编译工具,但我们推荐使用cmake。如果选择了CMake,后面需要手动配置Cmake的路径,不然就会出现下面问题。不要勾选ClangCodeModel,如果是别的警告或问题也可以试试这个方法。我们先不安装Clang,有一个更加方便的方法:菜单帮助->关于插件。没截到图,不过就是等待安装好,然后再点安装。
2025-08-14 15:28:07
364
原创 visual studio 2022开发QT项目
(注意:待Qt Visual Studio Tools下载完成后,该插件是在关闭Visual Studio 2022时才会开始安装的,可以点击该左边插件Qt Visual Studio Tools项的右上角的。早就忘了Windows SDK安装在哪个路径下了,幸好Cursor帮我找到了,果然,人不如AI,哈哈。工具链的路径:F:\Windows Kits\10\bin\10.0.26100.0\x64。打开 Visual Studio 2022 → 菜单栏 。 → 选择 Qt 安装目录下的。
2025-08-11 02:59:12
474
原创 配置Cursor
ctrl+shift+P进入全局搜索,输入lanuage,点击configure display language去配置,如果还未安装待配置的语言,可以进入上节课提到的应用市场中进行下载,然后再配置。设置这几个按钮的方向:ctrl+shift+P进入全局搜索,输入vscode setting,输入workbench。AI聊天面板快捷键:(我的版本两个快捷键出来的是相同的界面,并没有Composer和Chat之分)3.快捷键:ctrl+shift+P进入全局搜索,输入Cursor Setting进行搜索。
2025-08-09 17:41:31
311
原创 Cursor的下载及安装
File->New Text File->创建一个新的文件并且保存为test.py。根据提示,Ctrl + shift+ Y保留代码,然后点击运行。如果没有安装Python编译器的话,直接在应用商店安装即可。注册完成后回到Cursor软件点击Sign In登录。根据提示按Ctrl + K to generate。登录成功,可以回到Cursor软件。输入需求,点击向上箭头。
2025-08-07 20:49:55
392
原创 QT源码下载时single 和 submodule 的差异
single 和 submodule 是包含关系single是完整源码包,submodule是其拆分后的独立模块。按需选择:开发小型项目或特定功能时优先下载submodule,完整开发环境则下载single。依赖管理:子模块间可能存在依赖,需确保关联模块已安装。
2025-08-07 17:34:34
325
原创 2.1.3. Literals——Specifying the Type of a Literal
书籍:《C++ Primer》环境:visual studio 2022说明:以上内容大部分来自腾讯元宝。
2025-06-28 10:46:00
273
原创 MFC通过ODBC调用访问SQL Server中的数据库内容的一个简单例子
以下内容是在MFC C++应用程序中通过ODBC调用SQL Server中创建的数据库的流程,并提供了一个简单的例子。
2025-06-10 17:36:39
399
原创 [例9.2]一个简单的MFC ODBC的程序(不通过向导选择数据源)
书籍:《Visual C++ 2017从入门到精通》环境:Visual Studio 2022说明:本例程的内容和书中的实现方式相差较大,由于开发环境不一样,本节内容是自己在网上搜索了很多资料后实现的,关于SQL Server,ODBC Driver的安装,DNS数据源的添加,数据库的创建及表格的创建等,可参考其他内容。
2025-06-10 17:34:09
422
原创 SQL Server和ODBC安装过程中的常见问题
书籍:《SQL Server 2016 从入门到实战(视频教学版)》——孙亚男 郝军开发环境:SQL Server 2022。
2025-06-09 11:10:09
1393
原创 SQL Server, ODBC 驱动, MFC应用程序之间的关系
SQL Server、ODBC 驱动与 MFC 应用程序的关系可以从 、、 三个层面理解。三者协同工作,实现 Windows 桌面应用(MFC)对 SQL Server 数据库的访问与操作。
2025-06-07 09:54:27
1073
原创 SQL Server创建一个简单的数据库
若是在原来的SQLQuery1.sql文档中直接删除旧的语句,编写新的SQL语句,在cardb2数据库中创建car表,会提示一些错误。由于是第一次使用SSMS,在编辑SQL语句时,错误列表中总会出现一些无厘头的错误提示,如“表。已存在但插入时提示“对象名‘dbo.car’无效”及列名无效”,折腾了好久后,因为我发现我的车名不小心是nvarchar(MAX)时想改,改不了了,哈哈。发现直接忽略这些提示即可,主要看执行SQL语句时的结果。至此,一个简单的表就创建好了。关闭窗口后,可在 。
2025-06-07 09:41:13
607
原创 打开SSMS后,有必要先连接localhost或者是远程服务吗?
在打开 SQL Server Management Studio(SSMS)后,。
2025-06-06 14:07:38
715
原创 Microsoft ODBC Driver 18 for SQL Server的安装
安装方式选择为:ODBC Driver for SQL Server SDK。双击刚下载好的msodbcsql.msi开始运行。开发或调试使用 ODBC API 的应用程序。包含开发所需的头文件(如。安装客户端组件 + SDK。下是否存在头文件和库文件。
2025-06-06 11:24:03
1523
原创 SQL Server 2022的安装
将刚下载好的vs_SSMS.exe放到某个目录,然后双击开始安装,进入安装SQL Server 2022时的安装媒体文件夹目录。取消适用于SQL Server的Azure的选项,下一步。下载SQL Server 2022 Developer。安装完毕,点击SSMS跳转到SSMS下载网址.PolyBase配置,直接下一步。安装全新SQL Server。忽略防火墙警告,继续下一步。设置身份验证模式和添加管理员。选择全新安装,继续下一步。选择要安装的组件和位置。服务器配置,直接下一步。正在安装,等待安装结束。
2025-06-06 09:48:22
455
原创 [例8.24]单独使用类CSemaphore实现线程同步
书籍:《Visual C++ 2017从入门到精通》环境:Visual Studio 2022。
2025-06-05 10:06:49
358
原创 如何通过信号量对象实现互斥对象的功能
书籍:《Visual C++ 2017从入门到精通》环境:Visual Studio 2022内容:[例8.24]单独使用类CSemaphore实现线程同步可以通过配置信号量(CSemaphore)的初始计数和最大计数为 1,将其用作互斥锁(Mutex)。这种技术本质上是将信号量转换为二进制信号量,从而实现互斥访问。
2025-06-04 16:35:03
950
原创 详细介绍CSemaphore
书籍:《Visual C++ 2017从入门到精通》环境:Visual Studio 2022内容:[例8.24]单独使用类CSemaphore实现线程同步CSemaphore是MFC(Microsoft Foundation Classes)中用于实现信号量同步的类,封装了 Windows API 的函数。它通过计数信号量机制控制对共享资源的并发访问,适用于需要的场景(如连接池、资源池管理)。
2025-06-04 16:30:12
610
原创 [例8.23]单独使用类CEvent实现线程同步
书籍:《Visual C++ 2017从入门到精通》环境:Visual Studio 2022。
2025-06-04 16:05:54
201
原创 详细介绍CEvent
书籍:《Visual C++ 2017从入门到精通》环境:Visual Studio 2022内容:[例8.23]单独使用类CEvent实现线程同步CEvent是 MFC(Microsoft Foundation Classes)中用于线程同步的核心类,封装了 Windows API 的函数,提供了一种灵活的线程间通信机制。它通过(Event Object)的状态(有信号/无信号)控制线程的执行流程,适用于需要或的场景。
2025-06-04 15:20:24
919
原创 [例8.22]单独使用CMutex类实现线程同步
书籍:《Visual C++ 2017从入门到精通》环境:Visual Studio 2022。
2025-06-04 14:43:02
314
原创 详细介绍CMutex
书籍:《Visual C++ 2017从入门到精通》环境:Visual Studio 2022内容:[例8.22]单独使用CMutex类实现线程同步CMutex是 MFC(Microsoft Foundation Classes)中用于实现跨进程互斥的同步对象,封装了 Windows API 的Mutex机制。与不同,CMutex可以用于不同进程间的资源同步,适用于需要全局互斥访问共享资源的场景(如跨进程文件操作、数据库连接池管理等)。
2025-06-04 14:04:50
947
原创 [例8.21]联合使用类CCriticalSection和CSingleLock来同步线程
书籍:《Visual C++ 2017从入门到精通》环境:Visual Studio 2022。
2025-06-04 13:44:08
352
原创 详细介绍CSingleLock
书籍:《Visual C++ 2017从入门到精通》环境:Visual Studio 2022内容:[例8.21]联合使用类CCriticalSection和CSingleLock来同步线程是 MFC(Microsoft Foundation Classes)中用于线程同步的 RAII(Resource Acquisition Is Initialization)类,封装了对或其他同步对象(如CMutex)的加锁和解锁操作。它通过自动管理锁的生命周期。
2025-06-04 13:31:36
770
原创 详细介绍CWinThread
书籍:《Visual C++ 2017从入门到精通》环境:Visual Studio 2022CWinThread是 MFC(Microsoft Foundation Classes)中用于多线程编程的核心类,封装了 Windows 线程 API(如),提供了更高级的线程管理功能。它支持工作者线程(Worker Threads)和用户界面线程(User Interface Threads),适用于需要与 MFC 框架集成的多线程场景。
2025-06-04 11:22:03
832
visual C++ 2017从入门到精通
2025-04-24
C++语音,视频聊天,,,
2015-08-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人