c++
文章平均质量分 54
EchoCoder
这个作者很懒,什么都没留下…
展开
-
C++ std map unordered_map hash_map 的查找性能测试代码及结果
测试结果 Release模式下: 查找效率:unordered_map ≈ hash_map > map std::map 的效率远小于 unordered_map 和 hash_mapDebug模式下:1. 查找效率:hash_map > unordered_map > map2. 随着容量的增加,hash_map, unordered_map的查找效率有所降低,但浮动不大毕竟是常量级别。map的效率直线下降....详细数据见本文下方的 [测试过程记录](测试过程记录)原创 2022-11-25 19:21:31 · 1875 阅读 · 1 评论 -
C++ windows下自动递归创建所有目录
在编码过程中经常需要根据路径创建目录的场景,此处实现了一个根据文件路径递归创建所需目录的方法。注意:以下方法为`windows`下的实现,在`linux`下使用时,将`mkdir_nested(char*)`方法中的 `_access`替换为`access`, `_mkdir`替换为`mkdir` 即可原创 2022-11-11 16:29:00 · 1294 阅读 · 0 评论 -
VLD 在VS2019中编译通过,但调试时报 应用程序无法正常启动(0xc0150002)
在vs2019中配置vld成功后,调试启动报“应用程序无法正常启动(0xc0150002)”,解决办法如下...原创 2022-11-03 14:51:56 · 935 阅读 · 0 评论 -
C++ 文件操作返回值错误码列表及解析
C++ 文件返回错误代码列表及解析文件操作返回值返回的常量Constant系统错误消息System error message“值”ValueEPERM不允许执行该操作1ENOENT没有此文件或目录2ESRCH没有此进程3EINTR函数中断4EIOI/O 错误5ENXIO没有此设备或地址6E2BIG参数列表太长7ENOEXEC执行格式错误8EBADF文件编号错误9ECHILD没有生成的进程原创 2021-12-22 10:14:22 · 3517 阅读 · 0 评论 -
Windows C++程序崩溃时自动生成 dump文件
Windows生成dump文件// dumpcreate.h 文件// dumpcreate.h#if defined (_WIN32) || defined (WIN32)#include <Windows.h>long __stdcall exceptionHander(_EXCEPTION_POINTERS* excp); // 全局异常处理捕获#endif// dumpcreate.cpp 文件// dumpcreate.cpp#if defined原创 2021-12-16 14:48:54 · 1814 阅读 · 0 评论 -
Qt主界面使用QComboBox时,无法接收nativeEvent事件导致无法接收WM_COPYDATA消息的问题处理
Qt主界面使用QComboBox时,无法接收nativeEvent事件导致无法接收WM_COPYDATA消息的问题处理Qt主界面使用QComboBox时,无法接收nativeEvent事件导致无法接收WM_COPYDATA消息的问题处理问题描述问题排查结论Qt主界面使用QComboBox时,无法接收nativeEvent事件导致无法接收WM_COPYDATA消息的问题处理问题描述给需要接收消息的mainwindow窗体发送windows消息,mainwindow的nativeEvent方法无响应。原创 2021-11-25 16:30:07 · 1514 阅读 · 0 评论 -
基于内码映射方案的简繁体、全半角、gbk/utf8编码轻量级转换方案,无需三方库
基于内码映射方案的简繁体、全半角、gbk/utf8编码轻量级转换方案,无需三方库基于内码映射方案的简繁体、全半角、gbk/utf8编码互相转换1. Unicode和UTF8/16/32之间的关系2. 核心方案说明3. 使用示例3.1 大小写转换,全角转半角,繁体转简体转换3.2 GBK 和 UTF-8 相互转换基于内码映射方案的简繁体、全半角、gbk/utf8编码互相转换一般来说GBK和UTF-8是文字的编码方式,其对应的内码是不一样的,所以GBK和UTF-8的转换需要对内码进行一一映射,然后进行转换。原创 2021-11-17 14:43:43 · 859 阅读 · 1 评论 -
C接口和C++接口根据文件大小开辟缓冲区并读写二进制文件示例
C接口和C++接口根据文件大小开辟缓冲区并读写二进制文件示例1.使用c的stat接口获取文件大小2.使用C的FILE接口根据文件大小开辟缓冲区并读写二进制文件3.使用C++的fstream接口根据文件大小开辟缓冲区并读写二进制文件#include <assert.h>#include <IO.h>#include <sys/stat.h>#include <iostream>#include <string>#include &l原创 2021-11-11 09:35:04 · 463 阅读 · 0 评论 -
windows unicode和多字节字符集转换示例
windows C++ unicode和多字节字符集转换示例windows unicode和多字节字符集转换示例VS: [项目属性]->[配置属性]->[常规]->[字符集]在该属性中选择"使用多字节字符集"或者"使用Unicode字符集" 本代码段均可处理#include <string>#include <iostream>#ifdef _WIN32#include <windows.h>std::string WcharToC原创 2021-11-10 17:33:41 · 1568 阅读 · 0 评论 -
windows C++ 设置/取消文件隐藏(unicode/多字节字符集均可处理)
@[TOC](windows C++ 设置文件隐藏(unicode/多字节字符集均可处理))VS: [项目属性]->[配置属性]->[常规]->[字符集]在该属性中选择"使用多字节字符集"或者"使用Unicode字符集" 本代码段均可处理#include <string>#ifdef _WIN32#include <windows.h>std::string WcharToChar(const wchar_t* wp, size_t encode)原创 2021-11-10 17:19:43 · 2111 阅读 · 0 评论 -
C++ 使用 STL 库判断是文件夹还是文件并实现文件复制
C++ 使用 STL 库判断是文件夹还是文件并实现文件复制C++ 使用 STL 库判断是文件夹还是文件并实现文件复制#include <iostream>#include <fstream>#include <IO.h>//判断文件是否是一个有效的文件bool is_valid_file(const char* szFile){ /* mode Value Checks File For 00原创 2021-11-10 16:51:57 · 715 阅读 · 0 评论 -
QT OPENGL 入门教程 基于QOpenGLWidget 使用缓存绘制多边形
QT OPENGL 入门教程 基于 QOpenGLWidget 使用缓存绘制多边形//myopenglwidget.h#ifndef MYOPENGLWIDGET_H#define MYOPENGLWIDGET_H #include <QOpenGLWidget>#include <QOpenGLFunctions>#include <QOpenGLBuffer> class QOpenGLShaderProgram; class MyOpenGL转载 2021-11-02 14:22:13 · 802 阅读 · 0 评论 -
从零开始构建Google Protocol Buffer / protobuf 的helloworld工程
Protocol Buffer前言本文环境:VS2017 + protobuf-3.19.0整体步骤:下载 protobuf 源码运行cmake以生成protobuf的vs工程vs编译protobuf工程(生成所需*.lib文件和protoc.exe)编写项目自己的.proto文件,并运行protoc.exe生成对应的.h和.cc文件将protobuf引入自己的工程使用1. 下载protobuf下载protobuf下载地址: https://github.com/protoc原创 2021-10-28 17:51:14 · 815 阅读 · 1 评论 -
[ Effective minidump ] windows C++ 如何生成dump/dmp文件
[Effective minidump] windows C++ 如何生成dump/dmp文件Effective minidump简介Minidump类型MiniDumpNormalMiniDumpWithFullMemoryMiniDumpWithPrivateReadWriteMemoryMiniDumpWithIndirectlyReferencedMemoryMiniDumpWithDataSegsMiniDumpWithCodeSegsMiniDumpWithHandleDataMiniDumpW转载 2021-10-19 15:24:47 · 926 阅读 · 0 评论