C++
文章平均质量分 59
Ninsun Closear
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++中本地编码,UTF8编码与Unicode编码之间互相转换
wstring和utf8编码的string之间互相转wstring和本地编码的string之间的互相转换utf8编码的string和本地编码的string之间互相转换原创 2022-08-13 08:31:08 · 2572 阅读 · 1 评论 -
windows下std::string相关的崩溃问题
windows下std::string相关的崩溃问题原创 2022-07-07 13:37:08 · 1877 阅读 · 0 评论 -
libTorch CUDA C++相关问题与解决方案
记录使用libTorch,CUDA时遇到几个C++问题原创 2022-06-14 15:17:35 · 1853 阅读 · 5 评论 -
c++跨平台中文乱码问题解决方案
C++新标准中,提供了类似u8"中文"这种方式标记一个字符串是utf8字符串,避免编译器无法正确识别编码造成的乱码。然而测试结果在gcc下,如果源代码文件的编码不是utf8,那么哪怕用了u8"中文"也是会导致乱码的,然而如果使用utf8编码,msvc编译器又会提示各种错误导致编译失败……目前的结论是,想要跨平台的使用相同的代码,请使用UTF-8 with BOM编码,并用u8"中文"形式标记中文。测试结果gcc和msvc都可以正确识别,不会造成乱码问题。...原创 2021-07-20 14:59:08 · 1045 阅读 · 0 评论 -
用CMake管理自己的程序(四)
前言用CMake管理自己的程序(一)用CMake管理自己的程序(二)用CMake管理自己的程序(三)通过之前的文章,我们已经可以做到最基本的工程管理了,这篇文章,我们将对之前的工作做一个完善,让我们对程序的管理更加的合理,高效。target开头的命令相信大家都注意到了,cmake是一个命令式的工具,其中,我们会发现一些功能相似的命令。例如之前我们为了能够找到库的头文件,使用了include_directories命令,而现在我要介绍一个target开头的命令:target_include_di原创 2021-07-07 14:32:14 · 1752 阅读 · 0 评论 -
用CMake管理自己的程序(三)
前言用CMake管理自己的程序(一)用CMake管理自己的程序(二)之前的文章中,我们简单的介绍了一下一个正常的可执行程序以及一个正常的库要如何生成与管理,以及介绍了在一个正常的程序中要如何处理第三方库的引用问题,以及通过编译器的标志解决了一个中文乱码问题,接下来,我们就要遇到了一个最为关键的问题了:我们到底要如何管理自己的程序。管理工程树大部分的现代C++程序员,都是使用IDE进行软件开发的。在IDE中,源代码都是由一个叫做“工程文件”的文件(或者叫其他的名字,但是其核心概念都是一致的),通过原创 2021-07-05 14:59:08 · 1724 阅读 · 0 评论 -
用CMake管理自己的程序(二)
前言上一篇文章用CMake管理自己的程序(一)中,我们简单的了解了一下要如何编写一个CMakeLists.txt文件。主要是介绍了一个Qt程序如何使用CMake进行管理。但是我们只说明了一个可执行程序怎么搞,接下来,就让我们继续,说一下库文件怎么办。一个库程序这是使用QtCreator新建一个库项目后自动生成的CMakeList.txt文件,相比可执行程序可谓是简单明了许多。这里我们可以忽略掉那连续两个find_package命令,因为无论你写多少个,最终的结果是不会发生变化的,这里写两个应该只是为原创 2021-07-03 10:23:06 · 2495 阅读 · 0 评论 -
用CMake管理自己的程序(一)
前言CMake是一个非常常用的构建管理软件,本质上它并不负责程序的构建,但是会为程序构建提供足够多的信息,以便生成一个当前平台支持的make文件或工程文件。CMake的使用可以分为两大部分:程序构建与程序管理程序构建是指如何通过CMake生成一个平台支持的make文件或工程文件,CMake还自带一个GUI程序帮忙做这件事,比较简单就不多说了。程序管理是指如何用CMake去组织一个程序中的各个文件,将其当作工程文件的过程,主要就是搞明白CMakeList.txt这个文件要如何编写。这篇文章主要针对的是程原创 2021-07-03 09:12:11 · 4976 阅读 · 0 评论 -
如何使用Qt自带的zlib库进行gzip格式的数据压缩与解压缩
如何使用Qt自带的zlib库进行gzip格式的数据压缩与解压缩从https://github.com/d7185540/QtZlibDemo这里拿到了一个实现, 但是为了测试压缩或解压缩时选用的缓冲区大小是否有影响进行了最简单的修改, 也就是加了个静态变量BufferSize减小缓冲区, 事实证明, 缓冲区哪怕只有40的大小也是可以压缩与解压缩的.由于之前找到了一个错误的例子, 导致解压缩时总是失败(因为没有正确处理缓冲区过小的问题), 这里找到了正确的例子, 故简化后在此记录.#include &l原创 2021-04-23 16:42:48 · 3511 阅读 · 1 评论 -
使用OpenSSL1.1.1中的libcrypto库进行RSA加密与解密数据
废话不多说, 直接说怎么写代码编译的时候如何包含库文件这种事情就不说了.第一步, 包含头文件.#include <openssl/rsa.h> // 既然是RSA加密该头文件肯定是需要的#include <openssl/bn.h> // 这个头文件用于RSA的公钥私钥生成中, 生成大数用的#include <openssl/pem.h> // 这个是用于将公钥私钥保存成pem文件用的// 其它所需的头文件会被上述三个头文件自动包含, 比如bio.h第二原创 2020-11-05 15:21:33 · 3393 阅读 · 3 评论 -
C++20中的协程(Coroutine)
目录C++20中的协程(Coroutine)那么,什么是协程?那么这么好用的协程,是不是只要C++20一推出,我们加上一个关键字就能直接把异步调用转化为同步调用呢?协程函数和Awaitable类那么,到底要如何使用协程呢?写在最后C++20中的协程(Coroutine)从2017年开始, 协程(Coroutine)的概念就开始被建议加入C++20的标准中了,并已经开始有人对C++20协程的提案进行了介绍。1事实上,协程的概念在很早就出现了,甚至其他语言(JS,Python,C#等)早就已经支持了协程。原创 2020-09-16 17:27:19 · 14800 阅读 · 5 评论
分享