自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Echo的博客

念念不忘, 必有回响。

  • 博客(56)
  • 资源 (6)
  • 收藏
  • 关注

原创 linux系统日志路径及日志内容说明

这些日志文件默认情况下都只能被root用户或管理员查看。使用cat、tail、less等命令可以查看日志内容。也可以使用logrotate来管理和清理日志。

2023-06-07 15:15:28 4353

原创 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 1741 1

原创 win10/win11程序窗口最小化后, 点击任务栏无法弹出的问题处理

在本人使用win10、win11系统时,有时打开某个程序的多个窗口,最小化该程序窗口后,长时间不对该窗口做任何操作。在较长时间后,点击任务栏,发现无法弹出该程序窗口,但是在任务栏上右键点击该窗口图标,选择关闭窗口可以正常关闭该窗口,说明程序未卡死、

2022-11-24 16:40:44 9252 3

原创 C++ windows下自动递归创建所有目录

在编码过程中经常需要根据路径创建目录的场景,此处实现了一个根据文件路径递归创建所需目录的方法。注意:以下方法为`windows`下的实现,在`linux`下使用时,将`mkdir_nested(char*)`方法中的 `_access`替换为`access`, `_mkdir`替换为`mkdir` 即可

2022-11-11 16:29:00 1167

原创 VLD 在VS2019中编译通过,但调试时报 应用程序无法正常启动(0xc0150002)

在vs2019中配置vld成功后,调试启动报“应用程序无法正常启动(0xc0150002)”,解决办法如下...

2022-11-03 14:51:56 848

原创 【docker】给处于运行中的 docker容器追加端口映射

【docker】给处于运行中的 docker容器追加端口映射在docker运行容器时需要指定映射端口,那如果刚开始没有考虑的那么周全,后期遇到需要添加的端口时该怎么办呢。网上常见的方法有两种:1.配置防火墙转发端口。2.把docker容器打包成镜像,然后以该镜像为基础新建一个容器。笔者比较中意第二种方法,然而就在准备实施的时候发现了更好用的第三种方法。(注:该方法不受官方保护,谨慎使用,后果自负)docker容器被创建后会在服务器上保存一个文件夹,配置文件也放在此处,解决方法就是找到映射段都得

2022-05-31 23:33:39 803

原创 Visual Studio VS 快捷键使用大全

VS 快捷键使用大全快捷键注释:CTRL+K, CTRL+C 取消注释:CTRL+K, CTRL+U回到上一个光标位置:CTRL±前进到下一个光标位置:CTRL+Shift±复制整行代码:光标停在该行,CTRL+C,再粘贴CTRL+V剪切整行代码:光标停在该行,CTRL+X删除整行代码:光标停在该行,CTRL+L撤销:CTRL+Z返撤销:CTRL+Y设置断点调试:F9,断点行不执行调试(启动):F5逐语句调试:F11使用滚动

2022-05-30 19:15:24 3350

原创 windows下 python 使用 pip 安装TA-Lib报错的原因及解决方法

windows下 python 使用 pip 安装TA-Lib报错的原因及解决方法问题环境问题描述问题原因 & 解决办法问题环境Windows 10 x64 、python 3.8.6问题描述Windows 10 x64 下使用pip install ta-lib命令安装ta-lib库时会报错,错误信息为:talib/_ta_lib.c(680): fatal error C1083: 无法打开包括文件: “ta_libc.h”: No such file or directory.安装过

2022-05-08 14:03:11 9946 8

原创 python win10 出现 ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问 的解决办法

python win10 出现 ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问的解决办法问题环境问题现象解决办法问题环境pyton 3.8.6 + win10问题现象在使用pip install xxx安装某个包时,报错如下:ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问解决办法第一直觉是因为权限不够引起的

2022-04-24 21:45:30 6030 1

原创 在线查看各个编程语言的汇编代码,支持C++/JAVA等

在线查看各个编程语言的汇编代码,支持C++/JAVA等使用 https://godbolt.org/ 网站可在线查看汇编代码,还支持修改编译选项,如下图:编译语言为C++编译器为x86-64 clang 13.0.0编译选项为-std=c++20 -Ofast...

2022-01-26 11:24:51 926

原创 windows powershell 命令 修改文件/文件夹时间

使用powershell命令显示/修改文件或文件夹的创建、最后修改、最后访问时间等几个属性。

2022-01-17 17:15:41 5991

原创 python 使用PIL库批量修改图片大小

python 使用PIL库批量修改图片大小import osimport globimport os.pathfrom PIL import Imagedef CreateDir(strDir): """ 若文件夹不存在则创建 :param strDir: 文件路径 :return: 无 """ if not os.path.exists(strDir): os.makedirs(strDir)def ConvertJpg(

2022-01-15 16:03:41 3253

转载 Windows C++ 将外部exe加载到内存中直接运行

Windows C++ 将外部exe加载到内存中直接运行Windows的PE加载器在启动程序的时候,会将磁盘上的文件加载到内存,然后做很多操作,如函数导入表重定位,变量预处理之类的。这位仁兄等于是自己写了一个PE加载器。直接将内存中的程序启动。记得以前的“红色代码”病毒也有相同的特性。直接启动内存中的程序相当于加了一个壳,可以把程序加密保存,运行时解密到内存,然后启动,不过对于增加破解难度还要稍微复杂点。否则人家把内存中的进程DUMP出来然后修复导入表就被拖出来了。代码请自行修改#include "

2022-01-13 14:14:41 2740 1

原创 Linux 文件目录/命令缩写含义

linux下命名缩写含义etcetc 初期etc的英文名字缩写为etcetera ,后来大家更习惯称为 Editable Text Configuration。ETC为系统配置文件目录,该目录包含系统启动脚本、启动配置文件、用户登陆配置文件、网络配置文件、httpd 配置文件、IPSec 配置文件和其他文件等。...

2022-01-07 20:27:40 466

原创 MySQL数据插入过程索引 B-Tree 数据结构变化过程示例(多图)

通常我们所说的索引是指B-Tree索引,它是目前关系型数据库中查找数据最为常用和有效的索引,大多数存储引擎都支持这种索引。使用B-Tree这个术语,是因为MySQL在CREATE TABLE或其它语句中使用了这个关键字,但实际上不同的存储引擎可能使用不同的数据结构,比如InnoDB就是使用的B+Tree。

2022-01-07 17:32:23 1231

原创 MySQL 数据库增加索引和不加索引查询效率对比及分析

分析什么时候使用组合索引,什么时候使用单独索引;进行MySQL 数据库增加索引和不加索引查询效率对比及分析。

2021-12-31 14:52:48 3826

原创 GitLab API使用及如何删除某项目的分支

GitLab API使用及如何删除某项目的分支创建访问令牌 API TokenPRIVATE-TOKEN获取登录gitlab 进入 User Settings -> Access Tokens在这个页面创建一个api令牌,其中范围必须勾选api, read_user;read_repository 可以视个人情况勾选相关API操作win10下可直接在cmd窗口中执行curl命令linux下直接在终端执行curl命令前置说明:your-private-token: 为上一步创建的个人

2021-12-23 09:35:41 1223

原创 C++ 文件操作返回值错误码列表及解析

C++ 文件返回错误代码列表及解析文件操作返回值返回的常量Constant系统错误消息System error message“值”ValueEPERM不允许执行该操作1ENOENT没有此文件或目录2ESRCH没有此进程3EINTR函数中断4EIOI/O 错误5ENXIO没有此设备或地址6E2BIG参数列表太长7ENOEXEC执行格式错误8EBADF文件编号错误9ECHILD没有生成的进程

2021-12-22 10:14:22 3198

原创 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 1730

原创 mysql数据库ibdata1和mysql-bin文件过大导致致磁盘空间不足问题处理

mysql数据库ibdata1和mysql-bin文件过大导致致磁盘空间不足问题处理问题:某台服务器磁盘空间报警,经查发现ibdata1和mysql-bin日志占用空间太多(其中ibdata1超过120G,mysql-bin超过80G)原因:ibdata1是存储格式,在INNODB类型数据状态下,ibdata1用来存储文件的数据和索引,而库名的文件夹里的那些表文件只是结构而已。innodb存储引擎有两种表空间的管理方式,分别是:1)共享表空间(可拆分为多个小的表空间文件),这个是我们目前多数

2021-12-13 13:56:55 1957

原创 linux常见文件操作/sh命令问题处理

shell脚本、crontab、ssh很慢、文件已删除但是空间未释放、find命令性能提升等问题处理。

2021-12-13 13:50:38 288

原创 linux 下清除所有arp缓存命令

linux 下清除所有arp缓存命令arp -n|awk '/^[1-9]/{print "arp -d " $1}'|sh -x

2021-12-10 15:58:05 2853

原创 windows下如何查看某个进程有多少个线程,及各个线程的CPU、名称等详细信息

windows下如何查看某个进程有多少个线程,及各个线程的CPU、名称等详细信息

2021-12-06 14:49:59 11550 2

转载 【转】windows任务管理器中的工作设置内存,内存专用工作集,提交大小详解

windows任务管理器中的工作设置内存,内存专用工作集,提交大小详解各字段官方解释:提交:操作系统为进程保存的虚拟内存量;工作集:进程当前正在使用的物理内存量;可共享:进程当前使用的可与其他进程共享的物理内存量;专用:进程当前使用的不能被其他进程共享的物理内存量;对各字段的分析:使用下面的代码进行测试#include<windows.h> #define UNIT_SIZE (1024 * 1024) int main(int argc, char* argv[]

2021-12-02 11:39:46 3710

原创 excel 无法编辑单元格,忘记保护密码,怎么撤销保护密码

excel 无法编辑单元格,忘记保护密码,怎么撤销保护密码一、保护工作表二、解除工作表密码保护1、查看代码2、插入代码今天收到一份excel文件,只能编辑有限的几个单元格,其他单元格都是使用公式联动的,就想着看下公式是什么,但是那些单元格都是无法用鼠标点击进行编辑,最后发现是因为设置了excel文件的发行人使用了密码保护功能。折腾了一番终于把密码去掉了,记录一下。一、保护工作表步骤:点击【审阅】-【保护工作表】-勾选【选定锁定单元格】和【选定未锁定的单元格】-【确定】。随后设置单元格格式、插入行、删

2021-11-30 14:54:04 23348 11

原创 构建Docker镜像问题:“docker build“ requires exactly 1 argument.

在参照docker官网教程 https://docs.docker.com/get-started/02_our_app/学习构建镜像的时候。提示错误:“docker build” requires exactly 1 argument.原因是因为少了路径。要注意在最后增加一个路径,下面示例指定了路径为当前目录,即用‘.’ 代表当前路径 docker build -t getting-started .注意看,上面最后一个字符是....

2021-11-26 16:31:36 1388

原创 docker映射端口到linux host主机端口,但该端口无法访问的问题记录

docker 映射端口到host主机 6666 端口,但该端口不可访问的问题记录下载training/webapp后,运行该容器默认会打开一个5000端口的helloworld示例Web工程。想将该默认5000端口映射至主机的 6666端口,发现外网无法访问该端口。其他端口(比如6655或者8888)等均可正常访问先记录下问题,以后有机会再详细看下。[root@miniserver ~]# docker pull training/webappUsing default tag: latestl

2021-11-26 11:23:20 2436

原创 一次Centos 7 下安装docker的完整安装日志过程

一次Centos 7 下安装docker的完整安装日志过程安装教程来源于https://www.runoob.com/docker/centos-docker-install.html期间遇到了一个问题。问题描述:设置稳定的仓库报错 File “/bin/yum-config-manager”, line 135 except yum.Errors.RepoError, e:原因:遇到这个错误是因为我升级了Python到3,但是yum-config-manager这个文件头的Python没有改成

2021-11-26 09:48:51 656

原创 GitLab CI部署:Runner部署及遇到的问题

GitLab CI部署:Runner部署及遇到的问题GitLab CI部署:Runner部署及遇到的问题1、Gitlab2、创建群组及项目3、找到项目独立的token4、部署gitlab runner4.1注册Q&AGitLab CI部署:Runner部署及遇到的问题如果已经对gitlab相当了解,且英文水平较好,可以直接阅读官方的runner安装文档。安装文档:Windows:https://docs.gitlab.com/runner/install/windows.htmlLinux

2021-11-25 17:23:35 3143

原创 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 1301

原创 QIntValidator/QDoubleValidator 校验器限制QLineEdit的数值输入范围并自动修正

QIntValidator/QDoubleValidator 校验器限制QLineEdit的数值输入范围并自动修正QIntValidator可以限制QLineEdit的输入范围,但是输入完成之后不会自动修正,显示的值仍为用户输入的值。需要对该基类进行继承并补充fixup()函数的实现后才可以自动修正,自定义的一个自带修正的MyIntValidator类.#include <QIntValidator>class MyIntValidator : public QIntValidator

2021-11-22 17:21:17 2964

原创 基于内码映射方案的简繁体、全半角、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 644 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 424

原创 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 1529

原创 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 1964

原创 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 697

转载 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 757

原创 windows 使用 VS2017 msvc 命令行编译qt程序

windows 使用 VS2017 msvc 命令行编译qt程序windows 使用 VS2017 msvc 命令行编译qt程序测试环境演示工程目录说明编译脚本关于jom附录windows 使用 VS2017 msvc 命令行编译qt程序使用 VS2017的编译器编译qt的pro工程。测试环境Windows 10 + VS2017 + Qt 5.12.9演示工程目录说明E:T--test |--compile_cmd.bat 编译脚本 |--testapp 测试工程目录

2021-11-01 16:39:39 2398

原创 从零开始构建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 590 1

原创 wireshark 如何显示原始 TCP SEQ序号

wireshark 如何显示原始 TCP SEQ序号TCP 规范要求 三次握手时,seq为随机数,但是使用wireshark抓包时发现seq均从0开始,这是因为wireshark开启了显示相对的seq,在wireshark的“编辑”->“首选项”->“Protocols”->“TCP”中有设置,取消“显示相对的seq”选项即可显示报文中真实的seq。参考:https://jingyan.baidu.com/article/375c8e19e39d7a25f2a2298e.html

2021-10-27 11:29:08 3832

基于内码映射方案的简繁体、全半角、gbk/utf8编码轻量级转换方案示例工程

详细介绍请查看文章: https://blog.csdn.net/shadow_2011/article/details/121376335 一般来说GBK和UTF-8是文字的编码方式,其对应的内码是不一样的,所以GBK和UTF-8的转换需要对内码进行一一映射,然后进行转换。 对于一般系统上的工程,一般使用libiconv即可,但是对于嵌入式或手机操作系统,libiconv显得就有点庞大了。 在这里提供基于穷举内码的GBK和UTF8转换以及全半角、大小写转换等函数,希望对需要进行轻量开发的同学有所帮助。

2021-11-17

基于内码映射方案的简繁体、全半角、gbk/utf8编码方案核心代码

本方案基于GBK和UTF-8编码,在代码中对内码穷举后,再进行一一映射。包含两个文件 `encodenormalize.h`和 `encodenormalize.c` 使用纯C语言编写,windows、linux下均可用。

2021-11-17

[qt+msvc+命令行+编译] 使用 VS2017的编译器,采用命令行方式编译qt的pro项目的示例工程

使用 VS2017的编译器,采用命令行方式编译qt的pro工程的示例工程 具体说明请查看 https://blog.csdn.net/shadow_2011/article/details/121082100 测试环境: Windows 10 + VS2017 + Qt 5.12.9

2021-11-01

google protobuf 初学者 helloworld VS2017 + protobuf-3.19.0 工程示例

适用于初学者从零开始构建一个protobuf序列化工程。本解决方案在一个工程中包含了x86/x64的Debug/Release 共计4个版本均编译通过,可拿来即用。 资源详细介绍请查看: https://blog.csdn.net/shadow_2011/article/details/121017458

2021-10-28

MVP架构开发中应用GooglTest进行单元测试的Demo

MVP架构开发中应用GooglTest进行单元测试的Demo 在UI开发中,经常使用MVP(MVC)模式进行界面和业务的逻辑解耦 MVP模式的一个优势是方便对M层和P层进行单元测试 在本Demo中提供了对MVP模式的P层进行单元测试的使用示例,M层同理 在对P层进行单元测试时,使用gmock生成了model和view的mock类 目录结构如下: - |-code |-InterfaceDef.h |-PresenterImpl.h |-PresenterImpl.cpp |-unitTest |-MVPTestEnvironment.h |-Presenter_unittest.cpp |-main.cpp

2021-09-01

googleTest 1.6.0 测试套件使用 Demo

googleTest 1.6.0 测试套件使用Demo 包括以下3种事件的使用示例 testing::Environment 全局事件 TestSuite事件 TestCase 事件 同时包括一份《玩转Google开源C++单元测试框架Google_Test.pdf》文档

2021-09-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除