自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 std::vector与deque首尾增删及遍历(应用于CListCtrl虚拟列表)混合性能测试

1、简介  在工作项目中应用MFC类库的CListCtrl刷新加载数据,一开始是用InsertItem()、SetItemText()和DeleteItem()等成员函数来实现数据在列表视图控件中的新增和删除(最多显示500条数据)。在实施运行过程中发现,当数据量较多且显示频率快时,程序占用cpu高达30%以上,且偶尔会出现假面假死问题(其他图标按钮、右键菜单等功能不能使用),于是在网上搜索“MFC CListCtrl占用cpu高”,找到了“虚拟列表”技术支持,经实现、运行、观察,在同样的环境下cpu占用

2022-04-28 16:27:25 807

原创 ODBC::SQLExecDirect返回-1 错误信息ORA-00604 ORA-01000

  在通过使用微软提供的ODBC SDK读取数据库(SELECT)时,发现Oracle读着读着就读不到数据了(MySQL和SQL Server是正常的),经调试发现SQLExecDirect返回值为-1,在网上查找相关问题时看到一篇文章(ODBC中执行SQLExecDirect报错信息获取),于是就在程序出错的地方加了获取错误信息语句,代码 及 strErrorMsg错误信息分别如下://.h#pragma once#include <sql.h>#include <string&

2022-04-22 17:59:30 2192

原创 C/C++ 电脑微信dat文件解密及工具分享

1、前言  最近想整理下照片(回忆 ^ _ ^ 怀旧),以前也知道在微信pc端聊天时,图片、视频、文档等文件会缓存在一个目录下(电脑微信→左下角三条杠→设置→文件管理),点击按钮“打开文件夹”快速访问,文件基本都存储在“FileStorage”文件夹中,本文重点在于解密“Image”文件夹中被加密的dat文件。2、工具介绍  使用VS2010 MFC编写,支持选择单个文件转换及选择文件夹批量转换,一般都是选择目录/路径/文件夹进行批量转换。【注】在Windows XP下软件打开失败。(1)工具界

2022-04-19 18:06:11 8488 2

原创 MFC 控件获得焦点时显示为蓝色且编辑框无法Ctrl+A全选(改变窗口样式)

  在编写一个基于对话框的MFC测试程序时(VS2010环境,未使用Unicode库,即使用了多字节字符集),发现选中编辑框时(获得了焦点)边框不是蓝色,且无法使用Ctrl + A全选编辑框内容,点击按钮时按钮也不变显色,如下图所示:  通过修改stdafx.h文件中的代码以达到预期效果,如下图:  重新编译后,运行效果如下图:...

2022-03-17 17:19:33 808

原创 随机生成8位长字符串(大小写字母及数字组合)

1、简要说明  项目上开发要用到随机生成一个8位长的字符串(类似Java工具类中的UUID),作为id来对同一事物的不同个体进行唯一标识,如同一个班级里学生名字几乎不同,偶尔会有重复(小王、小红、小明…)。初中的小明非常忙,书中和试卷中总有Ta。现在好了,课程多了,作业多了,小明更忙了,哈哈~  既然是随机的,自然可以应用到C语言库中的rand()随机函数,通过数字的巧妙处理实现字符串的随机,代码如下。2、示例代码#include <string>#include <time.h

2021-12-22 16:40:54 5214

原创 判断主机操作系统是大端或小端(字节序)

1、简要说明  操作系统中内存都是从小(低)到大(高)排列的,就像看文字一样,从前(左)到后(右),是一个习惯上的行为(规定),当数据存储在内存中,由于操作系统环境的不同,对数据的管理/存储方式可能也有所不同,分为大端和小端两种模式,两者区别如下。(1)小端:低地址存储数据低字节,高地址存储数据高字节,大部分操作系统为小端;(2)大端:低地址存储数据高字节,高地址存储数据低字节,存储和显示(人所看到)在数据方向上一致。图1 大小端坐标^_^2、示例代码#include <stdio.h&

2021-09-30 17:52:15 3752

原创 std::map find和count效率测试

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-08-31 14:29:12 7556 2

原创 C++ 智能指针简介

1、介绍C++中共有4个智能指针,分别是auto_ptr、shared_ptr、weak_ptr、unique_ptr,其中auto_ptr在C++11中已弃用(由于某些原因可能导致程序崩溃,比如赋值操作符重载等)。智能指针的主要作用是可以自动释放代码中在堆上创建的对象(地址),防止内存泄漏。2、auto_ptr2.1 代码及相关注释#include<iostream>#in...

2020-01-14 22:14:21 314

原创 C++ 单链表反转

1、文章简介文章主要为单向链表反转代码的实现,通过循环与递归两种方法实现了链表反转,当然还有其他方法,如利用栈、新建链表等。2、代码#include<iostream>using namespace std;typedef struct LinkList{ int num; LinkList *next;}List;//创建链表List* createList...

2019-10-22 21:35:27 546

原创 C++ 为什么基类的析构函数要声明为虚函数

1、为什么声明基类析构函数为虚函数?(1)基类指针 指向 基类对象:不用考虑基类析构函数是否声明为虚函数。(2)基类指针 指向 派生类对象:若基类析构函数不为虚函数,在delete基类指针时,只会调用基类的析构函数,不会调用派生类的析构函数(资源未释放,基类无法操作派生类中非继承的成员),进而可能导致内存泄漏。2、如下代码示例#include<iostream>using n...

2019-09-21 17:02:41 790 1

原创 oracle 删除表中未自主命名的检查约束(生产上sql补丁脚本)

1、文章标题场景来源(1)公司的产品有几家客户已上生产且正常使用,期间某一家客户需求有变更,涉及表约束变更,若其他客户也需要同步更新,此时需要打sql补丁。然而问题来了,之前设计表结构时未对约束自主命名(由系统自定义生成),所有客户使用的产品表的约束名基本不一样,这就造成了无法直接通过约束名删掉约束再重新创建。(2)本文通过创建存储过程,根据表名、列名删除对应约束。2、现有如下所示学生表-...

2019-09-17 21:49:46 377

空空如也

空空如也

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

TA关注的人

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