自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朝楞蒙的专栏

来自匈奴故地

  • 博客(5)
  • 资源 (13)
  • 收藏
  • 关注

原创 Windows下hiredis分布式组件移植

1.   问题描述分布式组件项目使用了Redis,在Windows平台使用QT+VS2010编译环境。但Redis客户端库hiredis在Windows平台只提供静态库,而且必须用VS2013以上的版本才能编译。由于VS2013要更新部分组件才能避免编译错误,最终以VS2015编译hiredis.lib静态库。这样就面临如下问题:VS2010不支持完整的C++11特性,linux能直接使用std:...

2018-03-11 21:22:45 710

原创 没有tcp server能直接connect建立连接?

建立tcp 连接通常的做法是:server端创建server socket之后listen;client端创建client socket之后向server发起connect请求;server accept连接请求,新建一个client socket,就建立了和对方的一个连接。    但实践中发现另一种做法可以不需要server:两端分别创建client socket,先后向对方发起connec

2017-09-06 17:59:44 967

原创 安全的使用new分配内存

C++早期版本的new在失败时会返回NULL,但新版本不是这样。这不利于严格的内存检查,可能会造成隐患。安全的做法是:#include ……char *pch=new(std::nothrow)char[1000000000];if(pch==NULL){      //错误处理}为了方便使用,还可以定义下面的宏:#define sfnew new(std::n

2017-08-25 10:22:33 319

原创 网络接收数据缓存机制的分析和改进

在异步网络接收数据等场合,剥离数据接收和数据缓存的对于提高处理能力具有重要影响。相比之下,接收即处理的做法不能很好的适应高速数据吞吐。因为后者的处理如果稍有延迟,就会导致严重的数据堵塞或数据丢失。下面以libuv接收UDP数据包加入缓存、应用程序从缓存提取数据的应用为例(来于公司项目开发),总结如何实现一个有效的缓存机制。1.    分析失败的缓存案例最初的缓存数据提取是从缓存队列每次

2017-08-24 20:01:56 1922

原创 libuv源码分析(windows版)

网上深入讲解libuv内部机制的的资料实在太难找,好在这个库开放了全部源码。直接阅读源码,不仅能够深入掌握其异步I/O机制,而且还能汲取优秀的设计思想,提高软件设计水平。分析代码不等同于设计,不必拘于细节,而是要牢牢把握主线。libuv在统一的外部接口之下,实现了Windows和Unix(含Linux、Android等)两个版本。实践中发现两种实现的确存在一定的差异,但这主要是操作系统造成的。

2017-08-24 19:37:01 4176

用VS2015编译的hiredis.dll

封装了windows版本的hiredis.dll,debug版本。github上只提供静态库,应用时对编译器依赖性较强。使用时只需包含包括唯一的头文件hirediswin.h,不再依赖开源程序的任何库和头文件

2018-03-18

矩阵计算函数集合

实现了基于列主元消元法的矩阵求逆、矩阵乘法、最小二乘法多项式拟合运算(综合转置、求逆、乘法即可实现),为配合调试还实现了矩阵打印。 在VS2015编译通过,主函数附带了用例。 压缩包内还附带了最早的clion实现版本,因为使用了动态数组指针,必须在支持C99的编译器才能运行,但可读性更好。VS版本是在此基础上修改得到的。结

2017-09-06

矩阵计算程序

能实现基于列主元消元法的矩阵求逆、矩阵乘法、最小二乘法多项式拟合运算,为配合调试还实现了矩阵打印。因为使用了动态数组指针,必须在支持C99的编译器才能 运行。

2017-07-10

基于udp协议的穿透nat程序(以验证通过)

用udp协议穿透nat,实现p2p通信。代码集合了公网服务器、发送端、接收端的3套逻辑。在clion环境下开发,只有1个cpp文件,可在vs等环境下重新编译使用。测试前请修改natudp.h下的UDPSVRIP。先运行server,然后启动receiver,最后启动sender。 经过测试,可以穿透cone型网关。

2017-05-17

vc实现的可标示关键字和注释等特征的文本编辑器

该例程用vc++编写,对CRichEditView进行派生,使之能够像Visual Studio 2008一样识别关键字、动词、注释等并及时用相应的颜色标注。 大小写敏感性可以设置,标注颜色也可以根据需要进行更改。其中动词之后的非注释部分知道行尾都标注成统一颜色,而且具备不标注“”、‘’以内的文本的功能。全套代码可以编译执行,只要1分,欢迎下载。

2014-01-04

数独解算器源代码

用vc++6.0实现的数独解算器,代码包含控制台和windows两个版本。用改进的回溯法递归实现寻优过程。能对有解数独迅速给出一个合法解;对无解数独可以给出报错提示。 该程序在普通计算机解决芬兰数学家于2012年7月给出的最难数独,用时需1~10秒。欢迎交流。

2013-08-11

自动完成拨号宽带连接的程序源码

用vc++编写的一个小程序,将其服务版本和宽带拨号连接一起放在“开始/启动”目录下能自动输入账号口令并拨号连接,省去了每次手动输入的烦恼。适合不用路由器的拨号上网用户。 为了便于交流,我把控制台版本的代码打包上传。下载调试通过之后,可将其改写为服务。

2011-11-25

ArcGIS Engine、ArcGIS Server、ArcSDE的许可文件

适用9.3版本,我试过可以用。拿来和大家共享

2011-08-18

VC编写的具有浮动窗口的例程

floatwnd 模仿了迅雷等软件的浮动窗口.双击该窗口可以对主窗口进行隐藏和显示的切换.为了简要示意浮动窗口仍然可以显示数据(例如迅雷,flashget的下载进度),例程的浮动窗口显示了秒计数.

2010-12-26

VC编写的支持多视图的SDI例程

views单文档程序的多视图切换,所有可切换的视图都有共同的父窗口,是一个单文档多视图的示例程序

2010-12-26

c语言实现的排列组合程序

用递归实现排列组合,并能够结合解决P(m,n)问题

2009-06-25

VC编写的20阶汉诺塔

这个递归程序的特点是汉诺塔的阶次升高之后,递归所用的资源没有明显增加,最大限度的复用了堆栈,代码非常简洁。

2009-06-05

C语言100例及教程.chm

个人认为还是值得一看的

2007-05-14

空空如也

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

TA关注的人

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