自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HHHUANG

秉心塞渊

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

原创 Windows下使用iconv

资源下载官网资源: https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz环境配置编译环境:Win7 64位系统 VS2015创建一个VS2015项目,应用程序类型使用静态库,注意取消勾选“使用预编译头”;将资源[libiconv-1.16\lib]文件夹下的所有文件,全部复制到第一步创建的工程目录下,并找到config.h....

2019-11-18 00:47:05 6250 1

原创 MFC单文档项目如何禁止右键菜单

VS2015生成一个MFC单文档项目,想要禁止右键菜单。直观想法就是,找到右键响应函数,然后禁止相关代码。也就是禁止OnRButtonUp中OnContextMenu()函数调用,但是结果却还是无法禁止右键菜单。但是如果禁止OnContextMenu()函数中的内容,就能正常禁止右键菜单,应该MFC框架内部有调用ON_WM_CONTEXTMENU()事件,从而调用OnContextMenu()函...

2019-04-15 14:31:10 1198

原创 UML之六种类图关系

一、概述对于大型项目,一般需要先利用UML绘制类图关系。学习设计模式,也需要清除的知道类与类之间的关系。类与类之间的关系分为三大类:泛化,实现,关联(组合、聚合、普通关联、依赖)二、详细1、泛化泛化关系发生在继承类之间。子类继承父类的所有非私有属性和方法,并根据自有的特性进行扩展,这就属于泛化,使用实线空心箭头表示,如下图所示2、实现3、关联3.1、组合3.2、聚合3.3、普...

2019-04-14 23:57:23 540

原创 MFC中控件比较多的对话框弹出速度很慢真相

问题描述VS2015环境,MFC单文档开发的绘图软件当软件运行一段时间后,会出现其中几个控件比较多的界面显示弹出速度很慢,而且会越来越慢。一直怀疑是不是由于内存增大造成显示过慢,或者是,由于对话框初始化过慢造成。经过反复验证,终于找到问题。解决方案由于是绘图软件,使用的GDI对象比较多,而且容易忽略释放,造成GDI对象泄漏,一直增加,当增加到一定程度时,界面显示就会变得很缓慢。所以关键点是...

2019-04-12 17:09:05 2318 1

原创 vs2015 C1xx :fatal error c1038:无法打开源文件“stdafx.cpp":no such file or driectory

Win7系统,VS2015新创建的项目编译出现C1xx :fatal error c1038:无法打开源文件“stdafx.cpp":no such file or driectory错误。解决方法:找到VS2015的图标,然后鼠标右键,选中“属性”,如下图红框所示设置即可,将“以兼容模式运行这个程序”前面的勾取消掉...

2019-04-02 09:56:17 2041 2

转载 C++中模块(Dll)对外暴露接口的几种方式

转载自:https://www.cnblogs.com/weiym/archive/2012/08/29/2662559.html总结下C++中模块(Dll)对外暴露接口的方式:(1)导出API函数的方式这种方式是Windows中调用DLL接口的最基本方式,GDI32.dll, User32.dll都是用这种方式对外暴露系统API的。这种方式的优点是导出函数没有语言限制,什么语言都能调用;...

2019-04-01 08:54:03 2910

原创 VS2015-MFC生成的执行文件exe所依赖动态库详解

一、依赖动态库说明运行环境:VS2015、Win7 x64利用VS2015平台创建MFC工程,生成的exe,所依赖的动态库总结如下:编译环境依赖DLLDebug-使用MFC动态库-C运行库MDdmfc140ud.dll, msvcp140d.dll, vcruntime140d.dll,ucrtbased.dll, api-ms-win-core-timezone-l1...

2018-12-13 13:43:17 4513

原创 MFC中单文档和多文档的工具栏停靠问题

一、MFC单文档中添加自定义工具栏项目环境:VS2015,MFC单文档工程,项目类型Visual Studio1.1、添加ToolBar资源打开资源视图,添加ToolBar,命名IDR_TOOLBAR1,然后随便创建几个工具图标。2.1、在项目中添加新增的ToolBar打开主框架文件MainFrm.cpp,找到OnCreate函数,在系统工具栏创建代码的下面添加新工具栏的创建。// M...

2018-12-11 14:21:50 1412

原创 C/C++中结构体中的冒号-位域

C++中位域的形式:struct st1{ unsigned int a:2; unsigned int b:3; unsigned int c:4;};struct st2{ int a:16; int b:17;};struct st3{ int a:2; int b:3; int c:4;}...

2018-11-27 15:15:19 1153

原创 VS中编译项目出现找不到目标exe的错误

无论是在VS或者QtCreator等IDE中,肯定会出现“无法找到执行文件exe”的错误,一般造成这种错误的原因是,有正在运行的exe,形成冲突,关闭这个exe即可。但有时候,你会发现即使没有正在运行的exe,也还是出现这个错误,无论重新编译,还是关闭项目后再编译,也无法解决,经过多次验证,发现是由于360杀毒软件将第一次生成的exe当成病毒隔离了,然后后面再就无法在这个目录中生成exe,所以就...

2018-11-16 08:42:00 5680

原创 Qt5.9.0导入lib库出现LNK1104错误

Qt5.9.0中出现 LNK1104:无法打开文件“xxxx.lib”错误。检查.pro文件中的lib导入路径都正确,但是怎么构建,都会出现上面的错误。Windows系统中,建议导入lib库时,统一采用全路径的方式,这样避免出错:LIBS += $$PWD/3rdparty/lib/dxflib.lib //$$PWD当前工程目录// 或 LIBS += D:Myproject/3r...

2018-11-14 09:34:18 13687 9

原创 MFC多国语言

MFC多国语言界面的实现

2018-11-08 11:10:40 991

原创 一维码和二维码开源库zint学习

一、资源下载二、环境搭建三、简单示例四、开发应用1、zint_symbol解析zint_symbol结构体的定义位于zint.h文件中,详细说明见如下表格变量名称类型含义默认值symbologyinteger条码类型(详细见zint.h声明)BARCODE_CODE128heightinteger条码的高度 ,详细参考注意第一点50whi...

2018-11-07 10:57:23 4549 3

原创 VS2015同一个项目的多个子工程按依赖关系同时编译

包含多个子工程的项目,其中一个主项目,依赖其余数个子项目的库文件,我们希望每次只需要编译主项目,就能自动编译依赖项目。在VS2015项目中,选中“解决方案”的属性,如下图所示,【通用属性/项目依赖项】,“项目”一栏,选择为主项目,“依赖于”一栏选择主项目依赖的项目。设置完成后,再编译主项目,就会先编译依赖的项目,然后编译主项目。...

2018-11-06 14:37:24 6776

原创 显示调用DLL出现126错误

显示调用DLL,特别要注意的是,DLL的路径和函数的名称。如果DLL的路径没有问题,还是出现126错误(未指定的模块),一般可能是该DLL需要依赖某些其他DLL库,特别是MFC类型的DLL,当采用动态编译时,就会因为缺少mfc140u.dll和msvcp140.dll(VS2015 DEBUG编译环境)库而出现失败。...

2018-10-24 16:43:31 8739

原创 LibreCAD Windows编译问题集

运行环境:win7系统,QT5.9.0(MSVC2015 32bit)下载资源LibreCADBoost说明:下载最新版本即可(当时下载的的版本为:LibreCAD 2.2.0,Boost 1.53.0)。编译生成几个功能库文件:dxfrw.lib、jwwlib.lib、muparser.libdxfrw.lib:用于读写文本格式或二进制格式的DXF文件jwwlib.lib:mup...

2018-10-04 23:49:12 2592

原创 用正则表达式去掉C++中的注释内容

C++中的注释内容,有两种样式: // 和 /* */ 针对这两种样式,正则表达式可以为\/\*[\s\S]*\*\/|\/\/.*\/\*[\s\S]*\*\/可以识别/* */整块注释, \/\/.*可以识别//单行注释 在支持正则表达式替换的编辑器(VS, Source Insight4.0)中,将匹配这段正则表达式的内容替换为空格,即可!...

2018-09-10 13:05:25 3031 2

原创 LineDDA函数使用

一、 LineDDA函数1、作用沿着定义的起始点与结束点组成的直线,重复执行指定的LINEDDAPROC回调函数。2、声明及参数说明语法BOOL LineDDA( _In_ int xStart, _In_ int yStart, _In_ int xEnd, _In_ int yEnd, _In_ LINEDDAPROC lpProc, _In_opt_ L...

2018-05-04 12:38:52 1184 5

原创 区分const char* p,char* const p

我们从常规的指针开始,char* p = new char[5]; //在内存中申请5个字节的空间,并将空间地址赋给指针变量p指针变量p可以保存一个内存地址值,还可以去操作这个内存地址对应位置的内容,使用解引用操作符*,用*p表示。由此可见,通过指针变量p,就可以对内存进行读写操作。有时候,我们只需要读取某个内存的内容,而不需要去改变它,这样我们可以通过const修饰符去限定,以免造...

2018-05-03 14:21:57 636

原创 C++父子类中关于继承的一些问题

一、 子类能够从父类继承哪些内容?除了父类的构造函数和析构函数外,其余public和protected作用域的成员都能被子类继承:子类不能从父类继承的有:普通构造函数、拷贝构造函数、析构函数;子类能够从父类继承的有:静态成员变量、静态成员函数、友元函数、赋值操作符重载函数。二、关于静态成员的几个问题1. 子类如何调用父类的静态成员? 父类名::成员 子类名:成员 子对...

2018-05-03 11:33:54 828

原创 一个简单的Win32程序

一、Windows消息机制1、 消息是什么Windows程序的运行是依靠外部的事件来驱动。换句话说,程序不断等待,等待任何可能的输入,然后做出判断,再做适当的处理。前面的“输入”是指操作系统发送给程序的消息。消息,其实就是系统内设的一种数据结构。typedef struct MSG{ HWND hwnd;//hwnd 是窗口的句柄,这个参数将决定由哪个窗口过程函数对...

2018-04-27 22:25:13 3239

原创 基于UDP的winsock同步通讯

一、代码实现服务端#include "stdafx.h"#include <iostream>#include <Winsock2.h>#include <WS2tcpip.h>#pragma comment(lib, "ws2_32.lib")using namespace std;int main(){ WSADATA w...

2018-04-24 22:19:13 464

原创 静态链接库和动态链接库的区别

一、静态链接库的使用静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件。 在VS2015平台上,创建一个静态库(.lib)项目方案,选择【创建项目/Win32/Win32控制台应用程序/静态库(.lib)】,如下图所示, 生成项目后,创建两个项目文件staticdll.cpp和staticdll.h,并添加如下代码,//stat...

2018-04-23 20:45:30 7317 2

原创 strcpy函数实现

strcpy函数实现strcpy函数的原型为:char* strcpy(char* _Dest, const char* _Source);//实现1char * strcpy(char* _Dest, const char* _Source){ //检查传入参数的有效性 assert(NULL != _Dest); assert(NULL != _Sour...

2018-04-15 23:24:45 25472 5

原创 QT动态编译后,缺少各种dll文件

QT动态编译后,执行文件时,会发现缺少各种与Qt相关的dll运行库文件。 对于这种情况,Qt提供了一个工具windeployqt.exe,去为用户自动查找exe所需的dll文件。 第一步,在“所有程序”中打开Qt的控制台操作程序,如图所示, 第二步, 进入到exe的目录下,执行windeployqt ####.exe,然后就会在exe的目录下产生许多依赖的dll文件,如下图所示, ...

2018-04-12 10:59:19 1530

原创 VS2015编译QT程序,丢失ucrtbased.dll文件

利用VS2015编译QT程序,出现丢失ucrtbased.dll文件的错误。 直接下载ucrtbased.dll,百度网盘密码:vkhq。 然后将其放置到系统目录(C:\Windows\System32)中。再重新编译即可。...

2018-04-12 10:41:23 2406

原创 信号和槽基本特点

信号和槽机制是 QT 的核心机制,要精通QT编程就必须对信号和槽有所了解。一、使用方法1. 为控件添加信号和槽手动添加//MyDlg.h#pragma once#include <QtWidgets/QDialog>#include <QtWidgets/QLabel>#include <QtWidgets/QLineEdit&...

2018-04-11 23:48:56 1686

原创 EXCEL中实现16进制MAC的下拉

一般我们都只会EXCEL进行10进制的下拉自动增长,但是如果是16进制数,如何进行下拉呢? EXCEL截图: 计算公式为:=REPT(0,$C$3-LEN($B$3))&$B$3&REPT(0,$C$4-LEN(DEC2HEX(HEX2DEC($B$4)+ROW(1:1)-1)))&DEC2HEX(HEX2DEC($B$4)+ROW(1:1)-1)解读:...

2018-04-09 16:52:18 9912

原创 SQL高级查询之分组查询

1. GROUP BY假如有如下一张表inoutinfo, status number spend 正在车场 粤BS8120 10 已出车场 粤BS8120 15 已出车场 粤BS8120 20 正在车场 粤BS8121 25 已出车场 粤BS8121 30 已出车场 粤BS812...

2018-04-09 14:10:03 77609 5

原创 SQL Server 2008中某个字段设置为自动增长后,如何显示插入

--创建表格,pid为自动增长create table Product( pid int not null primary key IDENTITY(1, 1), productname varchar(50), cid int)GO--插入数据insert into Productvalues( 1, '夹克', 1),( 2, '单西', 1),( ...

2018-04-09 11:42:19 2275

原创 三种排序算法(直接插入、冒泡、快速)的C++实现

直接插入基本思想:将整个队列分为有序区和无序区,然后依次从无序区中选择一个数,按大小顺序插入到有序区中去。图解示意如下, 代码实现//从小到大排序void InsertSort(int arr[], int len){ int temp = 0; //作为对比的临时数据 //无序区遍历 for (int i = 1; i < len; i++)...

2018-04-08 11:50:55 572

原创 socket同步通讯客户端和服务端简单实现

客户端// SocketTest.cpp : 定义控制台应用程序的入口点。/**@brief 同步socket客户端流程:初始化,创建socket,连接服务器,发送,接收*/#include "stdafx.h"#include <iostream>#include <Winsock2.h>#pragma comment(lib, "ws2_32.li...

2018-04-07 22:13:44 1776

原创 获取WORD的高位字节和低位字节

在WinDef.h中有这样两组宏定义:#define LOBYTE(w) ((BYTE)(((DWORD_PTR)(w)) & 0xff))#define HIBYTE(w) ((BYTE)((((DWORD_PTR)(w)) >> 8) & 0xff))LOBYTE(w)的作用是,获取WORD的低位字节;HIBYTE(w)的作用,获取WORD...

2018-04-07 19:14:27 5787

原创 Windows下进程与线程

进程1. 进程的概念进程就是操作系统上一个正在运行的程序的一个实例。由两部分构成:一个内核对象,操作系统用来管理进程;一个地址空间,包含所有可执行文件或DLL模块的代码和数据。另外还包含,动态内存分配(线程堆栈和堆的分配)。2. 线程的概念线程是位于进程中的执行单元,它是CPU调度的基本单元。与进程一样,也包含两个部分:内核对象,操作系统用来管理线程;线程栈, 用...

2018-04-06 00:04:31 933

原创 自定义String类模型

//MyString.h#pragma once#include <iostream>class MyString{public: MyString(const char* str = nullptr); MyString(const MyString& other); MyString& operator=(const My...

2018-04-05 23:10:10 245

原创 strcpy函数在VS2015中无法使用

微软认为strcpy函数的安全性比较差,容易出现内存泄露,所以强制要求使用strcpy_s函数代替strcpy函数。但是,微软还是提供了使用strcpy的办法,根据错误提示:“To disable deprecation , use _CRT_SECURE_NO_WARNINGS”,意思是我们可以不进行兼容性检查,常见的两种解决方法: 1. 我们可以在项目-属性-配置属性-c/c++-预处理器-...

2018-04-05 22:36:29 4250

原创 C++实现单向链表的增加、删除、读取功能

链表相比于数组的优势有: 1. 增加和删除元素效率非常高; 2. 可以不需要预先知道存储元素的数量。 相比于数组的劣势有: 1. 查找元素的效率低; 2. 由于存储额外节点指针,带来的空间消耗。采用C语言形式实现插入和删除两个函数//插入元素bool InsertNode(Node* p, int index, int data){ Node* pCur = p;...

2018-04-05 22:16:45 2297

原创 从Qt Console Application到Qt GUI Application

在桌面开发中,总的来说,包含两种类型的应用程序:无界面的Console程序和有界面的GUI程序。Qt也不例外,包含Qt Console Application和Qt GUI Application。一、Qt Console Application在VS2015中创建一个Qt Console Application,默认会生成一个main.cpp源文件,代码如下,#include &...

2018-04-02 21:53:15 6931

转载 VS2015安装破解版Visual Assist X

VS2015安装破解版Visual Assist X原文地址:http://www.chinapyg.com/thread-79995-1-1.html下载资源和谐补丁仅支持官方原版,若使用其他破解版请先卸载后安装VAX官方原版。 如何卸载VAX: VS菜单 [工具>>扩展和更新>>点击(Visual Assist)>>卸载] VA_X云盘下载...

2018-03-31 20:17:20 30490 5

原创 VS2015中添加QT5.9.0插件

VS2015中添加QT5.9.0插件下载资源VS2015中文版32位百度云盘下载地址,提取密码:7k6s QT5.9.0 windows 32位下载地址,提取密码:gpym软件安装VS2015安装,按照提示安装即可。QT5.9.0安装的时候,记得把“msvc2015”和“msvc2015_64”安装上,如下图所示, 环境搭建打开VS2015,在菜单栏中选择“...

2018-03-31 13:47:49 14281 1

libiconv.rar

这是windows系统下的一个iconv1.16的库编译代码,里面还包含一个测试DEMO,有基本函数的使用。

2019-11-18

iconv1.16.zip

iconv1.16

2019-11-15

串口通讯类

采用Win API的串口通讯类,此类支持异步通讯和同步通讯,能够发送16进制指令

2018-11-30

解析SHX字体的工具

解析AutoCAD中的SHX格式的字体,该工具能够一次显示shx字体中所有的内容。

2018-10-19

CImage类基础应用

CImage类的一些基础应用,包括载入BMP、PNG、GIF、JPEG等图片,图片灰度转换等等

2017-08-28

Log分析工具

可以提取一个文件夹中所有log中的关键信息,并统计成excel表和文件夹

2016-12-19

空空如也

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

TA关注的人

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