自定义博客皮肤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

秉心塞渊

原创 Windows下使用iconv

资源下载 官网资源: https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz 环境配置 编译环境:Win7 64位系统 VS2015 创建一个VS2015项目,应用程序类型使用静态库,注意取消勾选“使用预编译头”; 将资源[...

2019-11-18 00:47:05 348 0

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

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

2019-04-15 14:31:10 390 0

原创 UML之六种类图关系

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

2019-04-14 23:57:23 103 0

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

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

2019-04-12 17:09:05 551 0

原创 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 566 0

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

转载自:https://www.cnblogs.com/weiym/archive/2012/08/29/2662559.html 总结下C++中模块(Dll)对外暴露接口的方式: (1)导出API函数的方式 这种方式是Windows中调用DLL接口的最基本方式,GDI32.dll, User32...

2019-04-01 08:54:03 792 0

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

一、依赖动态库说明 运行环境:VS2015、Win7 x64 利用VS2015平台创建MFC工程,生成的exe,所依赖的动态库总结如下: 编译环境 依赖DLL Debug-使用MFC动态库-C运行库MDd mfc140ud.dll, msvcp140d.dll, vcruntime...

2018-12-13 13:43:17 1815 0

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

一、MFC单文档中添加自定义工具栏 项目环境:VS2015,MFC单文档工程,项目类型Visual Studio 1.1、添加ToolBar资源 打开资源视图,添加ToolBar,命名IDR_TOOLBAR1,然后随便创建几个工具图标。 2.1、在项目中添加新增的ToolBar 打开主框架文件Ma...

2018-12-11 14:21:50 412 0

原创 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; }; struc...

2018-11-27 15:15:19 321 0

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

无论是在VS或者QtCreator等IDE中,肯定会出现“无法找到执行文件exe”的错误,一般造成这种错误的原因是,有正在运行的exe,形成冲突,关闭这个exe即可。 但有时候,你会发现即使没有正在运行的exe,也还是出现这个错误,无论重新编译,还是关闭项目后再编译,也无法解决,经过多次验证,发...

2018-11-16 08:42:00 2107 0

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

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

2018-11-14 09:34:18 2250 2

原创 MFC多国语言

MFC多国语言界面的实现

2018-11-08 11:10:40 472 0

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

一、资源下载 二、环境搭建 三、简单示例 四、开发应用 1、zint_symbol解析 zint_symbol结构体的定义位于zint.h文件中,详细说明见如下表格 变量名称 类型 含义 默认值 symbology integer 条码类型(...

2018-11-07 10:57:23 1007 0

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

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

2018-11-06 14:37:24 3751 0

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

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

2018-10-24 16:43:31 3204 0

原创 LibreCAD Windows编译问题集

运行环境:win7系统,QT5.9.0(MSVC2015 32bit) 下载资源 LibreCAD Boost 说明:下载最新版本即可(当时下载的的版本为:LibreCAD 2.2.0,Boost 1.53.0)。 编译生成几个功能库文件:dxfrw.lib、jwwlib.lib、muparser...

2018-10-04 23:49:12 1111 0

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

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

2018-09-10 13:05:25 1741 0

原创 LineDDA函数使用

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

2018-05-04 12:38:52 491 3

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

我们从常规的指针开始, char* p = new char[5]; //在内存中申请5个字节的空间,并将空间地址赋给指针变量p 指针变量p可以保存一个内存地址值,还可以去操作这个内存地址对应位置的内容,使用解引用操作符*,用*p表示。由此可见,通过指针变量p,就可以对内存进行读写操作。...

2018-05-03 14:21:57 224 0

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

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

2018-05-03 11:33:54 325 0

原创 一个简单的Win32程序

一、Windows消息机制 1、 消息是什么 Windows程序的运行是依靠外部的事件来驱动。换句话说,程序不断等待,等待任何可能的输入,然后做出判断,再做适当的处理。前面的“输入”是指操作系统发送给程序的消息。消息,其实就是系统内设的一种数据结构。 typedef struct M...

2018-04-27 22:25:13 2350 0

原创 基于UDP的winsock同步通讯

一、代码实现 服务端 #include "stdafx.h" #include <iostream> #include <Winsock2.h> #include <WS2tcpip.h&gt...

2018-04-24 22:19:13 296 0

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

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

2018-04-23 20:45:30 2022 0

原创 strcpy函数实现

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

2018-04-15 23:24:45 12392 4

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

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

2018-04-12 10:59:19 793 0

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

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

2018-04-12 10:41:23 1205 0

原创 信号和槽基本特点

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

2018-04-11 23:48:56 797 0

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

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

2018-04-09 16:52:18 3392 0

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

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

2018-04-09 14:10:03 37844 3

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

--创建表格,pid为自动增长 create table Product ( pid int not null primary key IDENTITY(1, 1), productname varchar(50), cid int ) GO --插入数据 insert i...

2018-04-09 11:42:19 1710 0

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

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

2018-04-08 11:50:55 357 0

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

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

2018-04-07 22:13:44 1053 0

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

在WinDef.h中有这样两组宏定义: #define LOBYTE(w) ((BYTE)(((DWORD_PTR)(w)) & 0xff)) #define HIBYTE(w) ((BYTE)((((DWORD_PTR)(w)) >>...

2018-04-07 19:14:27 2622 0

原创 Windows下进程与线程

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

2018-04-06 00:04:31 512 0

原创 自定义String类模型

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

2018-04-05 23:10:10 154 0

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

微软认为strcpy函数的安全性比较差,容易出现内存泄露,所以强制要求使用strcpy_s函数代替strcpy函数。但是,微软还是提供了使用strcpy的办法,根据错误提示:“To disable deprecation , use _CRT_SECURE_NO_WARNINGS”,意思是我们可以...

2018-04-05 22:36:29 2025 0

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

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

2018-04-05 22:16:45 1439 0

原创 从Qt Console Application到Qt GUI Application

在桌面开发中,总的来说,包含两种类型的应用程序:无界面的Console程序和有界面的GUI程序。Qt也不例外,包含Qt Console Application和Qt GUI Application。 一、Qt Console Application 在VS2015中创建一个Qt Conso...

2018-04-02 21:53:15 4358 0

转载 VS2015安装破解版Visual Assist X

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

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

原创 VS2015中添加QT5.9.0插件

VS2015中添加QT5.9.0插件 下载资源 VS2015中文版32位百度云盘下载地址,提取密码:7k6s QT5.9.0 windows 32位下载地址,提取密码:gpym 软件安装 VS2015安装,按照提示安装即可。 QT5.9.0安装的时候,记得把“msvc2015”和“...

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

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