C++ 扩展
lightspear
这个作者很懒,什么都没留下…
展开
-
C++ 封装RapidJson把一个类Json序列化和反序列化
很多人都知道rapidjson这个json库,大家也都知道他的高效,可是你一定也对他的使用方法,函数API接口感受到非常不适应,你一定非常怀念使用java和C#对一个实体类的那么轻松加简单的直接json序列化,是的本篇博客将免费开源一个我自己平时做项目研发使用的一个RapidJsonHelper类,将帮你实现对一个C++实体类的的序列化和反序列化。先贴上可完美可运行测试源码(含rapidjso原创 2017-02-02 17:28:34 · 14155 阅读 · 43 评论 -
C++ 不用std::queue 实现读取网络字节缓冲去的队列
想必你也和我一样听说了C++ STL 容器的std::queue 貌似有性能问题,内存会持续增加。我并没有深究解决办法,而是暴力自己重写了一个读取字节缓冲区的队列类废话不多说直接看实现。利用这个这个缓冲机制下一篇将直接实现一个VC++的聊天室的客户端,并贴出源码。#ifndef PB_CSOCKETQUEUE_H_#define PB_CSOCKETQUEUE_H_#include原创 2017-01-30 22:49:49 · 1238 阅读 · 0 评论 -
C++ 制作自己的双向链表List,高效的模拟C# List一些主要方法
C++ 拥有自己的很多容器vector,list ,set ,map,queue,但是不少大神做了很多比较之后结论就是每一个容器都有自己适用的场景,在自己适用的场景下效率将变的很高,反之差,这几个容器虽然大致适用方式类似,但是缺多少存在一些不完美,有的不能索引,有的不方便遍历或插入,std::list已经算是比较平衡的一个容器了,但是他也没提供按索引访问,所以是时候实现了一个自己的模板了,是的没错原创 2017-02-04 19:45:03 · 899 阅读 · 0 评论 -
VC++ MFC实现一个简易聊天(客户端篇)(逻辑解耦)
先上图,服务器正在完善中,留作以后博客分享(想增加历史记录缓冲),贴一下EXE下载地址客户端部分其实实现起来不难,或许最大的难点就在于如何把socket底层的缓冲区调优,以及把解析数据包的逻辑从socket底层操作中解耦出来,以及解析包的算法调优自从C++11出来以后,C++的很多写法也变得优美起来,本人极力推崇C++11的一些比较稳定优质的方法的,譬如std::function,原创 2017-01-30 23:05:08 · 6054 阅读 · 2 评论 -
VC++ 实现一个简单串口调试助手(功能少,但封装合理)
最近很多复习练手,所以很赶工,代码写的也不够精品吧,直接上效果图和源码下载地址吧这个例子是使用纯API实现的,而且可以不仅仅用在MFC中,但是代码质量还需进一步打磨(还需要加一些回调),先贴一份可以编译的https://pan.baidu.com/s/1nvBF1rz的源码,效果图如下,非常简陋,只是为了封装好一个PB_SerialPortHelper的类给自己方便使用。原创 2017-02-12 22:37:22 · 6030 阅读 · 2 评论 -
OpenCV 2.4.10+VS2008 SP1 实现一个视频播放器(可倍速播放)
最近在学Opencv,但是图像算法实在是把我爆出翔来了,以前数学不差,但是也忘得差不多了,恶补中,闲暇之余突然发现OpenCV的视频播放功能,支持格式很多啊,不防做一个学习版的纯视频播放软件,还可以顺便练手opencv,哈哈那么下面直接上效果图。代码等待上传CSND中。。说下这个工程的注意点吧。1:opencv 2.4.10默认已编译的版本是vc10,vc11,vc12,没有vc9原创 2017-02-23 12:08:05 · 1855 阅读 · 1 评论 -
C++ 封装 hredis-win32 实现底层操作解耦,并实现自动重连
windows上操作redis貌似一直不是redis官方的主流想法,如果用C#操作的话,我推荐NServiceKit.Redis这个开源库来操作,但是如果你使用的是VC++操作redis,很抱歉并没有什么特别好用库可以非常方便的操作redis所有功能,经过精挑细选,我找到了开源库hredis-win32:https://github.com/texnician/hiredis-win32原创 2017-02-04 03:27:29 · 3844 阅读 · 0 评论 -
MFC+FFmpeg做的一个多功能纯视频播放器,并练手软件注册和支付购买
软件下载地址:https://pan.baidu.com/s/1YIfraMbZ-v4ew-BXZWF_2Q本软件本来是我用来调试opencv过程效果的调试软件,闲来无事以此为基础经行练手,增加以下功能注意:普通播放推荐使用通用播放器0:通用可播放格式(*.mp4,*.flv,等常见视频格式)1:视频截取2:视频抓图3:格式转换4:视频画框5:支付测试,软件注册机制...原创 2019-01-20 23:26:18 · 677 阅读 · 0 评论