C++
文章平均质量分 68
qq_34732729
这个作者很懒,什么都没留下…
展开
-
用VS2017编译CxImage600的debug32和release32
前言基本定义:CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。CxImage对比opencv性能如何?下载编译过程1、版本转换,直接用VS2017打开 CxImgLib.dsw, 就可以转换为CxImgLib.sln正常打开之后,有13个项目。逐个项目,查看属性。发现其字符集默认均为:多字节字符集。暂且不改,后面再改为Unicode,重新编译。2、编译顺序:jasper、jbig、jpeg、libdcr、mng、png、tiff、原创 2021-05-22 14:49:24 · 2937 阅读 · 0 评论 -
VS2017编译Detours1.5
Detours1.5 适合于低版本的VS编译,比如2010及以下的版本。如果想用VS高版本开发的话,就需要Detours4.0.1版本 了。参考编译链接也就是低版本库+低版本编译器, 高版本库+高版本编译器。但是,目前的情况是:熟悉低版本库,但需要高版本编译器进行开发,所以问题就来了。高版本编译不过去。需要改低版本的源码,因为有些代码过时,被放弃了。另外一条路:将低版本和高版本的函数对应上,这样,就可以看着高版本开发了。1.5版本编译:打开VS2017的命令窗口,以管理员...原创 2021-05-22 14:35:16 · 1043 阅读 · 0 评论 -
VS2017编译Detours-4.0.1
前言Detours是什么? 简而言之:win32 API函数。VS2017/VS2019高版本开发的话,就需要Detours4.0.1版本 了。参考编译链接4.0.1 版本32位库编译:打开VS2017的命令窗口,以管理员身份运行。切换到src目录下,输入:nmake -f makefile, 回车。即可得到 32位的库文件。4.0.1 版本64位库编译:打开VS2017的命令窗口,以管理员身份运行。切换到src目录下,输入:nmake -f makefile,...原创 2021-05-22 14:32:56 · 719 阅读 · 3 评论 -
win10下使用CMake编译screen_capture_lite
源码地址:https://github.com/smasherprog/screen_capture_lite编译过程:然后 文件夹下,有sln文件。 用VS2017打开选择screen_capture_lite, 右键-->生成, 但是会报错。就需要更改代码:GetWindows.cpp 文件中,34行代码,更改入下://std::transform(std::begin(w.Name), std::end(w.Name), std::begin(w.Name),.原创 2021-03-31 10:53:36 · 304 阅读 · 2 评论 -
win10安装hdf5,C++读写h5文件测试(二)
下载链接https://portal.hdfgroup.org/display/support/HDF5%201.8.22下载1.8.22参考链接https://blog.csdn.net/david830_wu/article/details/63782190原创 2021-02-25 15:20:45 · 1945 阅读 · 7 评论 -
win10安装hdf5,C++读写h5文件测试(一)
下载https://portal.hdfgroup.org/display/support/HDF5+1.8.181.8.18版本,因为这个里面有szlib文件。1.8.22里面没有szlib文件。 下载如下红框中的文件。解压,安装:完成以后,在安装路径下,就有了这个文件。用VS2017新建win32控制台项目,测试。#include <stdint.h>#include <hdf5.h>#include <H5Cp原创 2021-02-25 15:14:36 · 6673 阅读 · 3 评论 -
win10下,安装miniconda3-py38,配置TensorFlow2.4.1
下载minianconda https://docs.conda.io/en/latest/miniconda.html#windows-installers本机环境:win10-64位,已经安装有VS2010,VS2015,VS2017,VS2019所以下面的VC的安装,我就没有进行。安装 在开始处,就能找到安装好的anaconda prompt打开anaconda prompt,查看conda版本:conda --version电脑没...原创 2021-02-19 10:40:39 · 2982 阅读 · 0 评论 -
QT开发MQTT,遇到Segmentation Fault错误
QT 开发mqtt客户端的时候,遇到Signal Received问题。原因是,使用client对象的时候,没有在构造函数的时候,new。导致它找不到。解决:在构造函数中,new 一个client,即可。后面就可以用这个对象去调用函数了。参考:https://blog.csdn.net/guozipi/article/details/88552991...原创 2021-02-19 10:12:32 · 715 阅读 · 0 评论 -
win10, VS2017, json-cpp编译与测试
下载https://sourceforge.net/projects/jsoncpp/编译在此路径下 jsoncpp-src-0.5.0\jsoncpp-src-0.5.0\makefiles\vs71找到 *.sln 文件,用VS2017打开将项目,升级到VS2017更改一下配置管理器,这里生成64位的。右键生成,即可。debug64位如下所示:特此生成32位release和debug, 64为release和debug,方便使用。将4个版本...原创 2021-02-02 10:19:15 · 2558 阅读 · 2 评论 -
Windows下,编译sqlite3,32和64
一、下载https://www.sqlite.org/download.htmlsqlite-amalgamation-3340000.zip (2.32 MiB): sqlite源代码,主要需要头文件sqlite3.hsqlite-dll-win32-x86-3340000.zip (491.81 KiB): sqlite3 win32 dll和defsqlite-dll-win64-x64-3340000.zip (814.19 KiB): sqlite...原创 2021-01-20 17:30:58 · 4068 阅读 · 4 评论 -
win10下ProtoBuf 安装编译测试
优质的参考链接:Win10 下 ProtoBuf 安装编译以及在 C++ 中的用法protobuf(C++)的使用(windows)Google Protocol Buffer 的使用和原理翻译官网(C++)开发protobuf C++ 使用示例==================================================以下内容仅作为笔记下载源码、编译好的,地址:https://github.com/protocolbuffers/proto.原创 2021-01-16 17:07:05 · 1828 阅读 · 1 评论 -
在 Windows10 上配置 FFmpeg
在windows10,VS2010 上配置FFmpeg,64位一、 下载Win10 + VS2010 + FFmpeg + 64位下载FFmpeg地址如下:https://ffmpeg.org/download.html#build-windows绿色的Download下载最新的,但是为了稳定,还是选择以前的常用版本,且下载编译好的。如图所示:进入previous b...原创 2019-02-13 15:19:11 · 8546 阅读 · 2 评论 -
C++ ofstream和ifstream详细用法
(转载)C++ ofstream和ifstream详细用法原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/database/460/11433960.sh[导读] ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间 在C++中,有一个stream这个类,所有的I/O都以这个...转载 2018-12-14 19:17:04 · 3193 阅读 · 1 评论 -
MFC读写Excel操作
前言现在遇到特别的需求,需要将Excel中的数据提出,通过算法处理,然后将数据写会Excel。所以这篇文章,就主要来做这件事情。参考博客:博客1 :读Excel,写Excel,获取驱动。基于win32控制台写的。博客2 :读Excel,写Excel,获取驱动。基于MFC写的。猜测,应该是多字符集,没有做多字符集与Unicode的转码。官网API 这是官网的API可以参考多字符转Unicode 我的程序是基于VS2010MFC开发的,Unicode项目,所以用到宽字符与多字...原创 2020-12-29 18:43:58 · 3636 阅读 · 3 评论 -
opencv编辑视频案例
基于opencv3.4.1, 开发的视频编辑器,基本功能都已经实现了,如下图所示:具体功能:进度条,控制左上角视频的播放进度,支持随意位置调整。 开始-结束:用于控制剪裁输出的视频起止点。 打开:打开一个视频文件,并呈现在左侧。 播放/暂停:开始播放左上角视频,或者暂停播放左上角视频。 截图:截取一张图片,即右侧合成图。右侧为目标图,即包含原图和水印图。 可以添加水印图、剪裁视频大小、调整视频亮度、对比度、支持高斯和拉普拉斯滤波、调整视频宽高、支持图像旋转(90-180-270)、支持原创 2020-12-29 18:06:45 · 471 阅读 · 0 评论 -
解决:WIN10系统下 VS2017 无法打开 winres.h 的问题
环境:win110系统下,VS2017打开VS2017的MFC文件,发现有如下错误。fatal error RC1015: cannot open include file 'winres.h'是因为:windowsSDK版本默认的时8.1,但是windows10得更改。根据找到的方法,在【项目】上右键,打开【属性】,进行设置……项目——属性——配置属性——常规——windo...原创 2019-03-09 11:40:51 · 7101 阅读 · 2 评论 -
GetExcelDriver()获取到Excel驱动
在用MFC读写Excel的时候,需要用到ODBC的方式。这个时候,如果不想手动输入Excel的驱动名称,就需要自动获取。下面是两种情况的下的获取方式。方式一:多字符集CString MyDlg::GetExcelDriver(){ char szBuf[2001]; WORD cbBufMax = 2000; WORD cbBufOut; char *pszBuf = szBuf; CString sDriver; // 获取已安装驱动的名称(转载 2020-12-09 13:18:56 · 1068 阅读 · 0 评论 -
MFC读写Excel操作——遇到的问题
前言在MFC读写Excel表格时,稍微有一点点点的问题,都不能通过。甚至,仅仅是调整几行代码,也不能通过。把这些坑记录下来,分享出来。坑-No.1CString sDriver = L"Microsoft Excel Driver (*.XLS)";// 驱动上面这句话是加载驱动的。我本想着自己写一遍,而不是粘贴别人的,为了加深印象。结果,Driver后面有一个英文空格,没有加上。导致失败:未发现数据源名称并且未指定默认驱动程序。坑-No.2sql = L"SELECT.原创 2020-12-05 15:33:07 · 3011 阅读 · 0 评论 -
MFC的picture控件加载并显示Mat图片
前期准备工作:将编译好的opencv库添加到项目中,include、lib、bin文件夹放置好。需要区分是debug还是release版本,以及32位还是64位。以上工作准备好之后,就可以使用下面代码进行显示图片了。1、编译opencv, -----> 配置项目 2、RGB图片显示,需要注意4字节对齐的问题。Mat不是4字节对齐,但是bitmap是4字节对齐问题。所以,就有一个转化。3、加载图片,需要注意Unicode宽字节与多字节转换的问题。多字节与宽字节转换1、...原创 2020-12-12 17:16:28 · 1190 阅读 · 0 评论 -
C++图形库graphics.h的安装
一下载https://easyx.cn/downloads/我这里下载的是2018-3-21版本二安装选择自己想要配置的编译器。我这里在用VS2010开发,所以选择10编译器。(虽然都有2019编译器,但是老项目,还是用老的编译器,稳当。)点一下【安装】,立马成功。然后上面的页面还有,可以继续配置其他编译器。索性,我就把2015 2017 全部配置了。然后点击关闭,即可。测试...原创 2020-11-27 10:46:23 · 7861 阅读 · 1 评论 -
Unicode项目中CString转const char*,string 转CString
前言做MFC开发,Unicode的项目。用到的字符串都是CString的。但是,好些API需要的是string 或 char* 就需要转换。所以,就需要深入了解CString的格式,string的格式,char*的格式,才好下手。下面详细介绍了如何将CString 转换为 const char*, 也等价于将CString 转换为 std::string, 或cv::String 。cv::String是OpenCV里面的。这个问题,是在调用 cv::imwrite();函数中遇到的..原创 2020-11-17 14:07:00 · 1239 阅读 · 0 评论 -
win7旗舰版安装VS2010不成功—解决
背景要开发win7的触屏软件,所以需要配置环境。硬件是i7的处理器。本身提示【不支持的硬件】:i7处理器仅适用于Windows10. 所以win7,所有后面会有意想不到的问题。所用的集成开发环境是VS2010.1、安装VS2010安装VS2010失败,提示:.Net Framework 4 安装失败。网上搜到的解决办法,但是我这里,并不奏效:办法1, 办法22、猜测与没有安装office有关所以安装了office2010, 再次安装VS2010。然而,还是出了问题【1】。3、那.原创 2020-11-07 17:07:13 · 1924 阅读 · 0 评论 -
记录C++11,auto遇到的坑
操作vector的时候,用迭代器,需要写好多代码,特别长。好在C++11 有了auto,然后就想着省事:通过扫描一遍vector,然后改变里面的值。直到遇到了bug, 才发现auto不能改变,只能遍历读取。#include<iostream>#include<vector>using namespace std;struct test{ int a; char c; bool flag = false;};int main(){ ..原创 2020-09-16 12:16:03 · 1167 阅读 · 2 评论 -
BitMap算法
BitMap算法程序详细说明:C++语言中,char,1字节,8位,二进制 0000 0000所以,如果有10个数,需要存储,需要 new char[10/8+1],就是2个char,也就是16位二进制 0000 0000 0000 0000(此顺序类比 int arr[3] = {1,2,3}, arr[0] = 1,以下顺序,均为从左到右,没有按照上图的标准顺序)!!!...原创 2019-08-28 16:21:50 · 215 阅读 · 3 评论 -
二分查找——三种模板(C++版本)
模板一:int binarySearch(vector<int>& nums, int target){ if(nums.size() == 0) return -1; int left = 0, right = nums.size() - 1; while(left <= right) { // ...转载 2019-09-09 16:26:16 · 2370 阅读 · 0 评论 -
标准库—— 关联容器 set、multimap、multiset
关于标准库中sring、char、vector、set、map、queue、stack、bitset等,方法有些记不清楚,每次用每次查,很费时间,干脆自己整理一下,记不住的时候,查询更方便。关联容器:支持通过键来高效地查找和读取元素。包括:map,set,其中,map:键-值,set:键。set 仅记录键,不记录值。无重复,键严格弱排序(从小到大,top小,back大)set<T&...原创 2019-09-06 17:35:25 · 183 阅读 · 0 评论 -
标准库——关联容器 map、set、multimap、multiset
关于标准库中sring、char、vector、set、map、queue、stack、bitset等,方法有些记不清楚,每次用每次查,很费时间,干脆自己整理一下,记不住的时候,查询更方便。关联容器:支持通过键来高效地查找和读取元素。包括:map,set,其中,map:键-值,set:键。map 是 map<键, 值> 对的 集合,可以使用键作为下标来获取一个值。关联容器类...原创 2019-09-06 16:32:07 · 248 阅读 · 0 评论 -
标准库——stack类型
关于标准库中sring、char、vector、set、map、queue、stack、bitset等,方法有些记不清楚,每次用每次查,很费时间,干脆自己整理一下,记不住的时候,查询更方便。栈,先进后出。栈容器支持的操作其实 stack 的方法很简单,但是在用的时候,会和 vector queue 的操作函数混淆,所以就记录一下。...原创 2019-09-06 14:39:07 · 509 阅读 · 0 评论 -
标准库——bitset类型
关于标准库中sring、vector、set、map、queue、stack 、bitset等,方法有些记不清楚,每次用每次查,很费时间,干脆自己整理一下,记不住的时候,查询更方便。// 需要包含头文件和声明:#include<bitset>using std::bitset;bitset对象的定义和初始化bitset类型对象的区别仅在其长度,而不在其类型。定义时,&...原创 2019-09-06 11:13:53 · 365 阅读 · 0 评论 -
标准库——vector/list/deque类型
关于标准库中sring、vector、list、deque、set、map、queue、stack、bitset等,方法有些记不清楚,每次用每次查,很费时间,干脆自己整理一下,记不住的时候,查询更方便。vector、list、dqque都是顺序容器。vector 底层是用数组实现的,并且支持动态扩容,每次倍增为原size()的1.5倍或者2倍;支持快速随机访问。list 底层单链表实现...原创 2019-09-06 10:22:20 · 214 阅读 · 0 评论 -
标准库——string/char类型
关于标准库中sring、char、vector、set、map、queue、stack、bitset等,方法有些记不清楚,每次用每次查,很费时间,干脆自己整理一下,记不住的时候,查询更方便。// 包含头文件和声明#include<string>using std::string;// cstring 是 string.h 头文件的 C++ 版本,而 string.h 则是...原创 2019-09-06 09:42:54 · 272 阅读 · 0 评论 -
int转string,string转int,int转char, char转int
int转stringstring Int_to_String(int val){ string res; while(val > 0) { res += char(val%10 + '0'); val /= 10; } reverse(res.begin(), res.end()); // 最后记得反转 ...原创 2020-01-08 11:12:21 · 141 阅读 · 0 评论 -
Windows10下VS2017编译MQTT C与编译MQTT C++
前言:MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联...原创 2020-02-20 13:27:29 · 5296 阅读 · 4 评论 -
有未经处理的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突
有未经处理的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突VS2010 写完程序运行时,出现的bug,找了半天,也没看到内run泄漏。而且中断还是在多线程函数中,这可就难了。突然灵机一现: 用到的线程锁没有初始化!娃哈哈,这样就好了。...原创 2020-06-05 11:36:56 · 3476 阅读 · 1 评论 -
UDP也可以有connect连接
根据《TCP/IP,UDP通信——C++实现》文章,知道了:UDP 等于无连接协议。 但是有的时候,UDP又有了connect连接,这是怎么回事呢?以下简单探究一番。调用 connect 将 UDP 套接字和 IPv4 地址进行了“绑定”,这里 connect 函数的名称有点让人误解,其实可能更好的选择是叫做 setpeername;UDP 套接字调用 connect 函数,但是和 TCP...原创 2020-04-18 11:11:49 · 3854 阅读 · 1 评论 -
TCP/IP,UDP通信——C++实现
基于TCP(面向连接)的socket编程服务器端程序:创建套接字(socket) 将套接字绑定到一个本地地址和端口上(bind):目的是为了告诉客户端,服务器准备在那个ip地址哪个端口接受请求。 将套接字设置为监听模式,准备接收客户端请求(listen) 等待客户端请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)。接收客户端请求后,就保存了客户...原创 2020-04-16 20:39:26 · 5288 阅读 · 4 评论 -
C++开发电子白板
基于VS2010的单文档,开发电子白板。Unicode,静态库方式编译。下面依次介绍。主页面主窗口的画图菜单选项,点开之后,是各种工具。同时,右侧提供相同的图标工具,供快速使用。 主要功能有:铅笔、直线、矩形、椭圆、?(系统自带的帮助,需要调整一下位置)、橡皮、清除屏幕、画笔颜色设置、线型线宽设置。 视屏功能尚未开发。 主窗口底部,显示当前坐标,以及当前时间。【画图】中有【截图...原创 2020-04-16 10:39:02 · 1530 阅读 · 2 评论 -
C++多线程学习笔记(三)
每次使用多线程时,总有些细节问题不清楚,这里从基础部分开始整理一下,以便后续进行学习和使用。机器不同,系统给每个线程分配的时间片和运行机制也不同。我这里是基于win10系统的VS2010的win32控制台应用程序做的。运行结果,会与孙鑫视频课中的有些不同,所以有些代码稍微调整,比如Sleep(1)的位置。一、最简单的多线程原型#include <Windows.h>// ...原创 2020-04-15 18:17:00 · 743 阅读 · 1 评论 -
MFC获取IP控件的IP值
DWORD m_serverIP;((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(m_serverIP);int m_nDestPort;GetDlgItemText(IDC_EDIT_PORT, m_nDestPort);......// 使用ipstruct sockaddr_in serve...原创 2020-04-14 20:14:47 · 911 阅读 · 2 评论 -
C++多线程笔记整理(一)
#include <Windows.h> // 使用多线程,要加头文件#include <iostream>using namespace std;int a = 1;CRITICAL_SECTION g_cs; // 线程锁// 开辟两个线程,分别对同一个变量进行操作DWORD WINAPI thread1(LPVOID lpParameter){ ...原创 2020-04-09 21:52:29 · 290 阅读 · 2 评论