C++高手修炼营
文章平均质量分 58
跟我一起成为Windows与 Linux平台下的C++编程高手!
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
程序员乐逍遥
15年C/C++开发经验资深程序员、想跟我学编程的可以观看我精心录制的视频课程!
展开
-
wofstream写入文件没有反应的解决方案
使用宽字符字符串是处理中文字符的正确方式,因为它们可以表示任何 Unicode 字符。类在 C++ 中用于定义区域设置,它影响数字、货币、日期和时间的格式,以及字符的分类和比较。在处理中文字符时,设置正确的区域设置是必要的,以确保字符的正确解释和处理。这个名称是依赖于平台的,不同的系统可能有不同的命名规则。作为分隔符,但在 C++ 字符串中,反斜杠是转义字符的开始,因此需要使用双反斜杠。,这是一个表示简体中文的区域设置。类,并添加了对宽字符的支持。是 C++ 标准库中的一个类,用于处理宽字符文件的输出。原创 2024-09-10 19:55:37 · 164 阅读 · 0 评论 -
一种特殊的二叉树 哈夫曼树(Huffman Tree)
哈夫曼树(Huffman Tree)是一种特殊的二叉树,它在信息编码领域有着广泛的应用,特别是在数据压缩技术中。下面我将通过图文结合的方式,详细介绍哈夫曼树的概念、构建方法以及应用场景。哈夫曼树的概念哈夫曼树是一种特殊的二叉树,由David Huffman于1952年提出。它主要用于解决数据编码问题,通过给定字符的频率来构造一棵二叉树,使得树中所有叶子节点的权重之和最小。哈夫曼树的每个叶子节点代表一个字符,而其非叶子节点则用于连接子树。原创 2024-07-03 13:43:23 · 61 阅读 · 0 评论 -
在Ubuntu 18.04.6 LTS 交叉编译生成Windows 11下的gdb 8.1.1
最后在 build/gdb目录下找到你需要的gdb.exe。最后,放到windows 11 下试试效果。2. 下载 gdb 8.1.1源码。产生Makefile文件。1. 安装mingw。原创 2024-06-29 22:39:16 · 255 阅读 · 0 评论 -
高性能STL库 EASTL 、高性能JSON库
兄弟们,对STL要求性能高的可以试试这个EASTL库!原创 2024-06-24 22:41:20 · 119 阅读 · 0 评论 -
VS2022 使用C++访问 mariadb 数据库
【代码】VS2022 使用C++访问 mariadb 数据库。原创 2024-06-12 14:22:48 · 247 阅读 · 0 评论 -
VS2022使用C语言代码访问MariaDB数据库
第三步,配置VS2022。原创 2024-06-12 09:27:17 · 203 阅读 · 0 评论 -
软件架构x86 、 x86_64、 arm64、aarch64 、PowerPC架构、MIPS架构、RISC-V架构
RISC是一种执行较少类型计算机指令的微处理器,它能够以更快的速度执行操作,使计算机的结构更加简单合理地提高运行速度,相对于X86 CPU架构具有更加均衡的性能功耗比。,CISC指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。i386指的是Intel 386处理器的型号,它是Intel x86架构的一部分,而x86是一种广泛使用的处理器架构,用于PC和服务器等设备。(IA-64):由Intel和HP合作开发的处理器架构,用于高性能计算。原创 2024-06-08 16:41:43 · 176 阅读 · 0 评论 -
make 中 DESTDIR 和 --prefix 的区别
这两个示例分别展示了如何使用两种流行的构建系统( + 和 + )来编译和安装软件,并解释了 和 这两个选项的作用。这个命令运行 脚本,它是 生成的,用于检测系统环境并创建适当的 。这里: 指定了软件安装的基本目录。这意味着软件的可执行文件、库文件、头文件等将安装到 目录下及其子目录中。如果不指定 ,则默认安装到 。这个命令使用 工具来编译软件。 是一个选项,表示 可以同时运行8个作业(jobs),这样可以加快编译过程,利用多核处理器的优势。这个命令执行 目标,根据 将编译好的软件安装到原创 2024-06-05 21:51:51 · 200 阅读 · 0 评论 -
GNU Linux 下安装目录的规范
官方链接。原创 2024-06-05 21:27:27 · 146 阅读 · 0 评论 -
检查用户是否在错误的目录中运行了CMake命令
但是有一些不熟悉CMake的依然会直接在当前目录配置,比如 CMake .那么我们如何在CMakeLists.txt 进行检测,避免这种行为呢?这样可以避免 生成的一些文件污染 代码目录。原创 2024-06-05 15:10:12 · 56 阅读 · 0 评论 -
VS2002 ~ VS2022平台工具集对应关系
MSC_VER。原创 2024-05-28 09:45:10 · 168 阅读 · 0 评论 -
Windows VS2022 C语言使用 sqlite3.dll 访问 SQLite数据库
下载 sqlite3.dll 库。这两个文件获取到了即可。原创 2024-05-25 17:56:35 · 219 阅读 · 0 评论 -
解决Windows终端PowerShell展示乱码的问题
标题:解决Windows终端PowerShell展示乱码的问题在使用Windows终端中的PowerShell时,有时会遇到乱码显示的问题,这可能会给用户带来困扰。这种问题通常与字符编码设置有关,因为不同的字符编码会导致终端无法正确显示特定语言或特殊字符。在本文中,我们将介绍如何解决Windows终端PowerShell中乱码显示的问题,并详细说明各种字符编码的数字表示,以及相关命令的用法。原创 2024-05-23 15:26:27 · 1434 阅读 · 0 评论 -
Qt5 创建带时间轴的 曲线(VS2019 + Qt 5)
最近,客户需要做一个 以时间为横轴,速度和位置(可以分开显示最好)为纵轴的图像曲线,电机只要运动就有图像,无需硬件对接 的Qt 图表,先上效果图!最后,大功告成,完工!原创 2024-05-20 20:48:52 · 127 阅读 · 0 评论 -
C和C++头文件的作用、头文件编写规范、全局变量定义是否能定义在头文件中?
在C和C++编程中,头文件(Header files)是一种关键的概念。它们为了代码的可读性、可维护性以及可重用性起着至关重要的作用。在本文中,我们将深入探讨头文件的作用,讨论在头文件中能够编写的内容,以及讨论是否能在头文件中定义全局变量。头文件还可以用来定义宏和常量。这些宏和常量可以在整个程序中使用,提高了代码的可维护性和可读性。在C和C++中,可以在头文件中声明全局变量,但是并不推荐在头文件中定义全局变量。原创 2024-05-10 10:57:56 · 138 阅读 · 0 评论 -
探索STLport:C++标准模板库的开源实现
STLport是一个强大而灵活的C++标准模板库的实现,它为开发者提供了跨平台、高性能的STL解决方案。无论是在学术研究、商业应用还是个人项目中,STLport都是一个值得关注和探索的工具。如果您还没有尝试过STLport,不妨给它一个机会,您可能会被它的功能和性能所惊艳。原创 2024-05-08 23:01:20 · 184 阅读 · 0 评论 -
深入理解C和C++的预编译头文件
预编译头文件是一种优化机制,用于加速代码的编译过程。它的核心思想是将一些频繁引用且不经常修改的标准库头文件或自定义头文件预先编译成二进制形式,以便在后续编译过程中快速加载和重用这些信息,从而节省编译时间。预编译头文件通常会包含一系列标准库头文件和项目特定的头文件。标准库头文件通常是编译器自带的,例如stdio.hstdlib.h等,而项目特定头文件则是项目中的自定义头文件,可以包含各种声明和定义。在C和C++中,开发人员经常会包含大量的头文件,其中一些可能包含大量的代码,并且很少发生更改。原创 2024-05-07 10:21:34 · 89 阅读 · 0 评论 -
VS2022中测试C++20代码出错的解决办法
【代码】VS2022中测试C++20代码出错的解决办法。原创 2024-04-16 15:48:40 · 157 阅读 · 0 评论 -
VS2019 VS2022 LNK2019 无法解析的外部符号sprintf
它的作用是解决在使用新版本的 Visual Studio 编译旧版本的 C/C++ 代码时可能出现的一些兼容性问题。在早期版本的 Visual Studio 中,这些函数的实现方式可能与当前版本的 Visual Studio 有所不同,导致在链接时出现一些问题,比如链接错误或者运行时错误。就提供了一种兼容性解决方案,通过提供一组 legacy(遗留)的标准 I/O 函数定义,使得旧版本的代码能够在新版本的 Visual Studio 中正常编译和链接。主要解决的是与输入输出函数(如。原创 2024-04-11 19:54:29 · 289 阅读 · 0 评论 -
make、ninja、nmake、jom 、qmake、cmake 、GN 都是什么?
CMake 可以生成各种不同的构建系统所需的文件,包括 Makefile、Ninja、Visual Studio 项目文件等,从而使得项目可以在不同的环境下构建和运行。QMake 专注于 Qt 项目的构建,CMake 则是一种通用的跨平台构建工具,而 GN 则是针对特定项目的高效构建工具。NMake是微软Microsoft提供的一个构建工具,它是Make的Windows版本 ,用于 Windows 环境下的项目构建。Make是一个经典的构建工具,它通过读取名为Makefile的文件来管理程序的编译过程。原创 2024-04-10 10:55:02 · 281 阅读 · 0 评论 -
六、VTK创建平面vtkPlaneSource
创建一个 m x n 个四边形数组,这些四边形在平面中排列为规则平铺。通过指定一个原点来定义平面,然后指定另外两个点,这两个点与原点一起定义平面的两个轴。平面的分辨率(即细分数)由 ivars XResolution 和 YResolution 控制。这种方法的作用是围绕平面中心旋转平面,使平面法线与指定的法线对齐。默认情况下,平面以原点为中心并垂直于 z 轴,宽度和高度的长度为 1,分辨率设置为 1。允许您沿指定距离沿平面法线平移平面。(负推力值沿负法线方向平移平面。将平面的中心转换为指定的中心点。原创 2024-01-26 16:36:58 · 945 阅读 · 0 评论 -
五、VTK创建立方体vtkCubeSource
vtkCubeSource 创建一个以原点为中心的多维数据集。立方体用四边形表示。可以单独指定立方体的长度、宽度和高度。原创 2024-01-26 16:05:40 · 172 阅读 · 0 评论 -
Windows下 VS2022 编译OpenSSL 库
(Transport Layer Security,安全传输层),TLS是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是SSL(Secure Socket Layer,安全套接字层),它实现了将应用层的报文进行加密后再交由TCP进行传输的功能。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。目前的 SSL 证书许可,下发的其实都是 SSL/TLS 证书。原创 2024-01-20 16:35:44 · 810 阅读 · 0 评论 -
三、VTK创建圆柱体vtkCylinderSource
前排观众因为离得近,在观看台上演员时会觉得他们比较高大,而后排的观众因为离得远,所以那些演员看起来就会显得小些,每位观众看到的东西在他/她的世界里都是唯一的,所以渲染场景Renderer里的vtkCamera对象也是只有一个;舞台的灯光可以有多个,所以渲染场景里的灯光。观看舞台剧时,观众坐在台下,展现在观众面前的是一个舞台,舞台上有各式的灯光和各样的演员。,台上演员与观众互动的方式有很多种,现场的观众可以直接上台与演员们握手拥抱,电视机前的可以法短信,计算机前的可以微博关注等,这就好比程序中的。原创 2024-01-19 10:39:45 · 174 阅读 · 0 评论 -
VS2019 使用CMake项目配置 运行时dll 路径
要使用以下语法添加的其他环境变量:这里配置了环境变量PATH ,指定运行时dll的路径。当我们使用VS2019创建普通sln项目时,指定dll 的目录有以下三种方法!:指定在生成项目时要调用的 CMake 目标(即你前面生成的。那么如果你创建的是CMake项目时,应该怎么设置呢?:传递给要调试的程序的命令行自变量。原创 2024-01-18 11:09:13 · 805 阅读 · 0 评论 -
开源世界许可证Copyleft GPL LGPL MIT BSD Apache
在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明;需要注意的是,LGPL 许可的软件可以自由使用和分发,但在对 LGPL 许可的库进行修改或创作派生工作时,必须遵循 LGPL 许可的要求,并在满足相应的许可证要求的前提下,享受 LGPL 许可带来的灵活性和自由。非共享库链接:如果将 LGPL 许可的库静态链接到应用程序中(即将库的代码直接包含在应用程序中),那么应用程序的整个源代码必须遵循 LGPL 许可的要求,并开放源代码。原创 2024-01-16 20:16:42 · 361 阅读 · 0 评论 -
Linux 脚本中 0 1> 2> >& <的含义
首先理解一下 0 1 2究竟是什么?原创 2024-01-12 13:57:10 · 187 阅读 · 0 评论 -
彻底弄懂MySQL事务隔离级别
并发事务中存在以下 3 个问题。原创 2024-01-05 11:19:53 · 378 阅读 · 0 评论 -
解决error C2065: “_lpw”: 未声明的标识符
遇到上面的错误,查阅资料,解决方法如下:原创 2023-12-18 09:15:42 · 388 阅读 · 0 评论 -
_variant_t 中的 SAFEARRAY的SafeArrayGetElement获取不到值的情况
初始化 VARIANTARG (或 VARIANT) 类型的新局部变量。最近,使用SAFEARRAY 获取二维数组的值,发生了一个很诡异的情况!它需要初始化这样的一个变量。不然你去获取就是各种值不对,真坑啊!字段设置为 VT_EMPTY 来初始化 VARIANTARG。但是如果你是一个BSTR的数组,这里字符串就不行了,获取的是乱码!不同,此函数不解释 VARIANTARG 的当前内容。这里获取 long 、double 是没有问题的。这个时候才发现没问题了!大家这里注意到没有,原创 2023-11-16 15:28:02 · 190 阅读 · 0 评论 -
Windows 根据dll生成 lib文件
查看c.lib中包含哪些函数,可以使用:dumpbin /all /rawdata:none XXX.lib >3.txt。查看a.dll库中包含哪些函数,可以使用: dumpbin /exports XXX.dll >1.txt。查看d.obj中包含哪些函数,可以使用:dumpbin /all /rawdata:none XXX.obj。如果函数较多,可以复制VS的报错信息,放到一个文件中,使用Python来解析出函数名。第一步,查看一下大概的函数,确认dll有你想要的函数。原创 2023-11-09 17:03:51 · 284 阅读 · 0 评论 -
解决Ubuntu系统字体太小的问题
这里可以将缩放比例调大,整个字体就放大了!在终端输入下面的命令。原创 2023-10-07 09:10:36 · 675 阅读 · 3 评论 -
解决Ubuntu18.04安装好搜狗输入法后无法打出中文的问题
在ubuntu中设置中文输入法原创 2023-10-07 08:58:38 · 2513 阅读 · 3 评论 -
ubuntu终端 中文显示 改为 英文显示
实际是改变系统两个环境变量 $LANGUAGE 和 $LANG的值(可以用echo $LANG 来查看值)关闭当前终端,重新打开终端后命令中的提示就显示英文提示了。如果希望终端显示英文,可以在终端设置环境变量。注意对那些中文文件名,文件夹名会显示为乱码。原创 2023-09-27 11:21:27 · 1208 阅读 · 0 评论 -
Unix System V BSD POSIX 究竟是什么?
其正式称呼为IEEE 1003。在这套标准下,开发的程序可以只需要最小的修改或不需要修改就能在不同的操作系统平台上运行。POSIX.1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。POSIX 标准在推出后,得到了广泛的采纳。原创 2023-09-01 15:35:20 · 775 阅读 · 0 评论 -
Linux下两个必学的查找命令find grep
【代码】Linux下两个必学的查找命令find grep。原创 2023-08-23 16:05:41 · 189 阅读 · 0 评论 -
Centos 解决 XXX不在 sudoers 文件中。此事将被报告。的错误
本来想使用 sudo 拷贝一个文件,结果出现上面的问题!将你需要添加的用户,模仿root写一遍,然后保存!然后执行 exit 退出root用户!首先登录root,然后执行下面的命令。再次使用sudo ,发现成功啦!原创 2023-08-22 16:14:06 · 1241 阅读 · 0 评论 -
Linux下grep通配容易混淆的地方
我希望找到某个版本为8的一个libXXX.8XXX.so ,那么应该怎么写呢?终于过滤到自己想要的文件了!是不是结果出乎你的意料之外?原创 2023-08-12 22:58:11 · 531 阅读 · 0 评论 -
Linux命令行参数前加 - -- 或 不加- 的区别
System V 风格中 init 调用 /etc/inittab,BSD 风格调用 /etc/rc,它们的目的相同,都是根据 runlevel 执行一系列的程序。系统启动过程中 kernel 最后一步调用的是 init 程序,init 程序的执行有两种风格,即 System V 和 BSD。① 参数前有横的 - 是System V风格。① 参数前单杠的表明后面的参数是单个字母;② 参数前双杠的则表明后面的参数是单词。② 参数前没横的 是BSD风格。2 加杠与不加杠的区别。原创 2023-08-12 15:55:28 · 672 阅读 · 0 评论 -
Linux下查阅帮助文档必学命令 man
Linux操作系统的使用中,我们经常会遇到很多问题,这个时候查询文档的能力至关重要,黄老师来推荐大家使用man,这时我们必须掌握的查阅能力:最常用的命令: 这里的数字分别代表:回车键 1g跳到头部第一行n:跳到N行。原创 2023-08-01 14:45:36 · 172 阅读 · 0 评论