自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

深之JohnChen的专栏

什么思想决定什么样行为;什么样行为决定什么样的习惯,什么样的习惯决定什么样性格,而什么性格决定什么样的命运。

  • 博客(1024)
  • 资源 (67)
  • 收藏
  • 关注

原创 thrift rpc js使用

一、thrift js使用方式使用thrift js时,PRotocol需要使用TJSONPRotocol/TBinaryProtocol协议,Thrift.Protocol对应的是TJSONPRotocol。Transport需要使用TXHRTransport/TWebSocketTransport通道,Thrift.Transport对应的是TXHRTransport。thrift-0.1...

2018-12-07 11:04:37 2835 1

原创 MFC中ListBox添加水平滚动条和多行提示类

//CExListBox.h// CExListBox window#pragma onceclass CExListBox : public CListBox{// Constructionpublic: CExListBox(); // 覆盖该方法以便添加水平滚动条 int AddString(LPCTSTR lpszItem); int InsertString...

2018-12-04 15:31:58 1505

原创 websocketpp实例

//服务端//WebSocketServerOpreate.h#pragma once#include <boost/algorithm/string.hpp>#include <string>#include <vector>#include <iostream>#include <boost/thread.hpp&gt...

2018-12-03 16:04:47 10335 2

原创 websocketpp wss客户端代码

 websocket使用wss协议,使用websocketpp库时,需要使用openssl库支持。 不使用ssl,即使用ws非wss#include <websocketpp/config/asio_no_tls_client.hpp>#include <websocketpp/client.hpp>使用ssl,即使用wss#include <webso...

2018-11-30 11:09:06 10310 13

原创 websocketpp c++客户端

利用websocketpp库编写websocket客户端程序。一、阻塞方式实例#include "stdafx.h"#include <websocketpp/config/asio_no_tls_client.hpp>#include <websocketpp/client.hpp>#include <iostream>typedef ...

2018-11-29 19:20:37 9017 6

原创 Windows下使用websocketpp

WebSocket protocol 是HTML5一种新的协议,它是实现了浏览器与服务器全双工通信。WebSocket协议解析参考这篇文章http://www.cnblogs.com/chyingp/p/websocket-deep-in.html一、下载websocketpp、boost、opensslWebSocketpp只是一个库,本身不需要搭建什么环境,只要新建的项目引入相关的库就行...

2018-11-29 19:16:40 18729 1

原创 使用libcurl操作ftp

使用libcurl操作ftp存储文件、目录等,操作之前可以先登录,也可以不登录再请求添加ftp和用户密码信息,libcurl会检测没有登录的话会自动登录请求。1、ftp上传文件,需要自动创建目录时,需要设置CURLOPT_FTP_CREATE_MISSING_DIRS属性。ftp上传文件时,目录不存在时,设置下面的属性,可以在上传文件时,自动创建目录。curl_easy_se...

2018-11-15 20:20:49 9433 1

原创 VC对话框child、popup模式之间切换

       在WM_CREATE消息事件OnCreate(LPCREATESTRUCT lpCreateStruct)函数中判断窗口模式,进行切换窗口模式。窗口对话框模式,先设置窗口资源属性,style设置成child、border设置成none。窗口child模式,先设置窗口资源属性,style设置成popup、border设置成对话框外框。 1、该类头文件中增加以下属性和方法b...

2018-11-12 14:47:21 1719

原创 常见读写excel文件的库/类

读写EXCEL表格,有这几种方法:COM方式、ODBC方式、OLE方式、纯底层格式分析方式。 库/类 方式 功能 备注 basicexcel com方式 可读可写excel 开源,windows平台。 CSpre...

2018-10-31 11:03:18 2821

原创 xlslib生成excel文件

一、xlslib介绍C++用来操作Excel的方法很多,但是涉及到跨平台,同时又要对Excel的读写操作兼顾,而且免费的库,那应该是要用xlslib和libxls了。xlslib库只能写Excel文件,libxls库只能读Excel文件。另外libxl库功能强大,但是收费的。xlslib官网:http://xlslib.sourceforge.net下载:http://sourcefo...

2018-10-29 14:47:04 9022 5

原创 boost库asio错误码

boost库asio常见错误码boost::asio::error::bad_descriptor      (10009)     在一个已经关闭了的套接字上执行async_receive()boost::asio::error::operation_aborted    (995)    正在async_receive()异步任务等待时,本端关闭套接字boost::asio::erro...

2018-10-24 16:53:55 12882 2

原创 avilib操作avi文件

一、avilib介绍avilib是一个使用c语言编写的库,可以很方便的对avi文件提取帧和生成avi视频文件。如下列出avilib库的代码。/* * avilib.h * * Copyright (C) Thomas streich - June 2001 * multiple audio track support Copyright (C) 2002 Thomas str...

2018-10-19 15:58:41 5127

原创 音频采样率转换

采样率转换的开源代码框架有resample、libresample、sndfile-resample、libresample4j等。libresample andsndfile-resample (fromlibsamplerate) (in the Planet CCRMA Distribution).libsoxr, the SoX resampler libraryssrc (fro...

2018-09-08 13:02:23 14384 2

原创 vc 获取服务列表、开始服务、停止服务

//ServiceInfoCollect.h#pragma once#include <list>//服务状态信息typedef struct tagServiceInfo{ char szDisplayName[MAX_PATH]; //显示名称 char szServiceName[MAX_PATH]; //服务名 char szLoginUser[MA...

2018-09-07 12:04:22 1350

原创 VC获取进程的cpu使用率、内存、线程数、句柄数等信息

//ProcessInfoCollect.h//进程信息采集#pragma once//枚举进程typedef BOOL(_stdcall *ENUMPROCESS)( DWORD *pProcessIds, //指向进程ID数组链 DWORD cb, //ID数组的大小,用字节计数 DWORD *pBytesReturned //返回的字...

2018-09-07 11:50:43 6616 5

原创 lib库或dll中使用stl做为接口在模块间传入数据,变量定义重复问题。

1、error LNK2005: "public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> > xxx.obj 中定义出现上面情况,说明多个库中导出了stl的string,导致重复定义。解决方法:第一种:在dll或静态库种不要使用stl中变量作为接口。第二种:在li...

2018-09-05 18:06:36 1118

原创 boost json put int,double保存为string而不能保存int,double的解决方法

boost json put int,double保存为string而不能保存int,double的解决方法,主要修改write_json_helper函数。本文以boost 1.66.0版本为例,列出需要修改的地方。修改boost\property_tree\json_parser\detail\write.hpp文件两个地方:1、第46行,屏蔽掉。 else if...

2018-08-31 19:31:14 1968 1

原创 boost生成和解析json

一、boost生成和解析json解析Json的方法有很多,也有不少的第三方开源工具。比如boost json、jsoncpp库。这里仅介绍其中的一种,用Bosst解析。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“...

2018-08-30 19:41:17 14952

原创 libcurl库使用方法

一、ibcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP这些协议,同时支持使用SSL...

2018-08-20 13:54:00 12760 3

原创 mysql++读写BLOB数据

       通过SSQLS( Specialized SQL Structure)可以将一张表完全对应到一个C++结构体中,然后只要对于这个结构体进行操作,同时再加入到对应的mysqlpp:: Query对应的方法中,我们就可以执行对应的SQL语句。通过读写BLOB数据。1、使用sql_create_n宏函数,将数据库表字段映射到一个对象数据结构中。sql_create_2,sql_cre...

2018-08-04 18:12:14 2196

转载 音视频播放

c++实现waveOutOpen音频播放功能https://blog.csdn.net/xbk123123/article/details/53787287c++实现waveinopen录音功能https://blog.csdn.net/xbk123123/article/details/53611283DirectSound播放PCMhttps://blog.csdn.net/leixiaohu...

2018-06-30 23:29:36 597

原创 ffmpeg视频小结

FFMPEG视频解码流程  1. 注册所有容器格式和CODEC: av_register_all()  2. 打开文件:av_open_input_file()  3. 从文件中提取流信息:av_find_stream_info()  4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO  5. 查找对应的解码器:avcodec_find_decoder()  6. 打开编解码器:a...

2018-06-17 20:33:12 2499

原创 ffmpeg音频小结

一、ffmpeg解码音频流程1.注册所有组件av_register_all();2.拿到封装格式上下文AVFormatContext *avFormatContext = avformat_alloc_context();3.打开文件avformat_open_input4.查找音频流信息avformat_find_stream_info(avFormatContext, NULL)//音频解码,...

2018-06-16 15:54:33 4834

原创 使用ffmpeg编码和解码aac音频

一、aac音频编码实例#include <stdio.h>#define __STDC_CONSTANT_MACROS#ifdef _WIN32//Windowsextern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"};#else//Linux...#ifdef _...

2018-06-16 15:07:21 9550 5

原创 关于一个进程结束另外一个带有NotifyIcon托盘的进程残留图标问题解决方法

        进程A用Process 启动进程B,这是B在右下角有托盘图标,然后用Process关闭进程B,但是右下角的图标还在,只有鼠标放上去后才消失。        网上大部分介绍的方法时通过刷新任务栏托盘区,清除异常关闭进程的残留图标。该方法在win10系统上起作用。 现在网上找到另外一种方法:如果进程带有界面,就通过发送WM_CLOSE关闭进程;如果进程不带界面,调用TerminateP...

2018-06-15 16:57:01 7467

原创 音频基础知识

一、概念从信息论的观点来看,描述信源的数据是信息和数据冗余之和,即:数据=信息+数据冗余。音频信号在时域和频域上具有相关性,也即存在数据冗余。将音频作为一个信源,音频编码的实质是减少音频中的冗余。根据编码方式的不同,音频编码技术分为三种:波形编码、参数编码和混合编码。一般来说,波形编码的话音质量高,但编码速率也很高;参数编码的编码速率很低,产生的合成语音的音质不高;混合编码使用参数编码技术和波形编...

2018-06-15 13:02:15 9603

原创 获取进程全路径方法(支持xp、win7、win10系统)

获取进程全路径方法(支持xp、win7、win10系统)获取进程的全路径的函数包括GetModuleFileNameEx、GetProcessImageFileName、QueryFullProcessImageName。这三个函数的原型:DWORD GetModuleFileNameEx(HANDLE hProcess,HMODULE hModule,LPTSTR lpFilename,DWOR...

2018-06-14 13:01:17 5227

原创 操作注册表让程序开机运行

//是否设置开启开机运行某程序bool IsEnablePowerOnRunProgram(char *pProgrameName, char *pProgramePathName, unsigned char ucIsCheckSamePathName){ if (NULL == pProgramePathName || 0 == strlen(pProgramePathName) || ...

2018-06-13 20:54:55 901 1

原创 ffmpeg x264编码参数

ffmpeg x264编码参数对照表x264   ffmpeg   说明 命令行 字段 命令行 字段   qp qp_constant cqp   cqp 固定量化因子。取值范围0到51。 经常取值在20-40之间,越小质量 越好,要求的码率越高。0表示无损压缩 max-keyint i_keyint_max g gop_size 关键帧的最大...

2018-06-12 12:32:45 6999

原创 ffmpeg视频编解码实例

视频解码// ffmpegdemo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdio.h>#define __STDC_CONSTANT_MACROS#ifdef _WIN32//Windowsextern "C"{#include "libavcodec/avcodec.h"#include ...

2018-06-12 12:29:48 12193 2

转载 FFMPEG视音频编解码零基础学习方法

转自雷神:http://blog.csdn.net/leixiaohua1020/article/details/15811977在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者。在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿沟。“大神”们水平高超,探讨着...

2018-06-11 12:43:30 734

原创 FFmpeg filter

一、FFmpeg filter简介FFmpeg中的libavfilter提供了一整套的基于filter的机制。filter本身是一个插件的形式,可以快速的组装需要的效果。比如下面的filter,可以实现视频的水平镜像效果。ffplay.exe sample.rmvb -vf hflipFFmpeg定义的libavcodec接口已经成为在编解码领域的事实上的行业标准。但音视频filter并没有类似的...

2018-06-10 17:08:44 3984 1

原创 视频基础知识汇总

一、视频采集视频采集把模拟视频转换成数字视频,并按数字视频文件的格式保存下来。所谓视频采集就是将模拟摄像机、录像机、LD视盘机、电视机输出的视频信号,通过专用的模拟、数字转换设备,转换为二进制数字信息的过程。在视频采集工作中,视频采集卡是主要设备,它分为专业和家用两个级别。专业级视频采集卡不仅可以进行视频采集,并且还可以实现硬件级的视频压缩和视频编辑。家用级的视频采集卡只能做到视频采集和初步的硬件...

2018-06-10 12:38:48 13220

原创 mysql++线程操作数据库实例

//MySqlConnectionPool.h#pragma once#include "mysqlpp/include/cpool.h"#include "mysqlpp/include/connection.h"#include "boost/thread/thread.hpp"//boost库线程头文件#include <string>#include &lt...

2018-06-08 11:20:06 1747

原创 SQLite之C++封装库CppSQLite使用方法

SQLite是一个超轻量级的开源数据库,从官网上下载的source是一个用c写的文件,在C++(VC)中调用时难免会碰到一些问题,这时就可使用CppSQLite。CppSQLite(最近版本为CppSQLite3)是对SQLite进行二次封装后的C++类库。SQLite官网:http://www.sqlite.org/cppsqlite下载地址:https://github.com/lmmir/...

2018-06-03 11:16:17 13009 3

原创 ANSI和UNICODE字符串处理常用函数

ANSI和UNICODE字符串处理函数在windows中ANSI和UNICODE字符串操作分别提供了相应的函数,也提供了一套兼容两者的函数。比如:#ifdef  UNICODE      #define _tcscpy     wcscpy #else     #define _tcscpy     strcpy #endif字符串处理函数常用函数对照ANSI UNIC...

2018-05-30 11:22:29 4140

原创 应用程序无法正常启动0xc000007b解决方法

0xc000007b——应用程序无法正常启动原因如下:1、操作系统system32或SysWOW64中与vc相关dll与vs开发工具中的dll文件不一致。2、缺乏dll。使用depends工具查看程序依赖那些dll。用depends工具查询缺少哪些dll或dll文件冲突。红色:有两种含义。一个是没有找到这个文件,下面会有这个提示Could not find the section that own...

2018-05-21 15:47:38 48937 2

原创 VC代码添加防火墙规则

一、VC代码添加防火墙规则(调用netsh命令)BOOL DealExecCmd(CString strCommandLine) { USES_CONVERSION; STARTUPINFO StartInfo; memset(&StartInfo, '\0', sizeof(StartInfo)); StartInfo.cb = sizeof(StartInfo); ...

2018-05-20 15:12:06 2613

原创 Linux 中如何快速查看 C 库函数的头文件、库文件

Linux 中如何快速查看 C 库函数的头文件以及相应的函数信息?使用man帮助或grep1)man命令 函数名,则能够打印该函数的所有说明,当然这个函数必须是Linux-C本身就有的函数。2)grep "keyword" /usr/include/*.h |grep "typedef"以上方法可以查找关键字为keyword的结构体、类型、函数原型的定义,typedef可以替换为define尝试查...

2018-05-20 13:15:39 19021 1

原创 磁盘分区

一、BIOS/MBRUEFI/GPT他们之间的关系1、传统的主板就是传统 BIOS,可在使用 MBR 分区表的硬盘(俗称 MBR磁盘,就是传统常用的模式)上安装32或64位操作系统。同时也支持使用 GUID 分区表的硬盘(俗称GPT磁盘),但该硬盘上不能安装操作系统。2、新型主板使用 UEFI BIOS,只能在使用 GUID 分区表的硬盘(俗称GPT磁盘)上安装64位操作系统。同时也支持 MBR ...

2018-04-24 20:10:26 1411

CH340, CH340G & CH341 (USB-SERIAL chip) V3.5

CH340串口芯片在Windows中遇到串口打开、关闭后无法再次打开。返回错误码是31(连到系统上的设备没有发挥作用。) 下载对应的V3.5驱动即可解决。 CH340, CH340G & CH341 (USB-SERIAL chip) V3.5 Driver Version = 2019-01-30, 3.5.2019.1

2024-04-16

librtmp x64 vs2015版本库文件

librtmp V2.3 x64版本编译好的lib库文件以及源代码。 librtmp是一个RTMP的开源库,很多地方用它来做推流、拉流。它是RTMPDump开源软件里的一部分。librtmp库实现了rtmp协议的客户端功能,以及少数服务端功能。 优化功能: 1)解决“关闭Nagle加如此小的块大小会导致很多小包并且CPU占用高”问题。 2)增加发送数据超时时间,防止librtmp发送阻塞。 3)AMF_GetProp函数bug修改。

2022-05-09

ice同步调用和异步调用实例代码

Ice 是一种针对客户端和服务器进行通信的面向对象的中间件平台。Ice 为构建面向对象的客户-服务器应用提供了工具、API 和库支持。客户和服务器通信双方可以用不同的编程语言编写,目前最新的版本支持的语言包括C++,.NET,Java,Python,Objective-C,Ruby,PHP and ActionScript。客户和服务器可以分别部署,可以运行在不同的操作系统和机器架构上。本代码为ice同步调用和异步调用实例代码。

2019-04-07

Qt中调用MFC对话框

QT是一个跨平台应用程序和UI开发框架。windows开Qt开发方法:一、Qt Creator+MinGW 或者 Qt Creator+VC++ Compiler二、QT4.8.5 for Windows(VS2015+VS插件)。本实例为VS2015+Qt+Qt插件中开发Qt应用程序同时调用MFC对话框。

2019-03-23

调用OPENCV3.4.4库,在MFC中显示图片

调用OPENCV库,在MFC中显示图片,添加CvvImage类来显示程序图片,我用的是VS2015 + OPENCV3.4.4

2019-03-03

thrift web实例代码

thrift web实例代码。使用thrift js时,PRotocol需要使用TJSONPRotocol/TBinaryProtocol协议,Thrift.Protocol对应的是TJSONPRotocol。Transport需要使用TXHRTransport/TWebSocketTransport通道,Thrift.Transport对应的是TXHRTransport。

2018-12-07

websocketpp实例代码

WebSocketpp是一个支持websocket功能的库,C++语言,本身不需要搭建什么环境,只要新建的项目引入相关的库就行。本实例代码包含了服务器,CS客户端、web客户端代码。

2018-11-29

xlslib-2.5.0

xlslib库是用来创建excel文件、libxls是用来读取excel文件的。vc2015编译版本,支持中文字符串。

2018-10-29

ffmpeg视频解码和编码代码实例

ffmpeg视频解码和编码代码实例。decoder目录中的代码是对视频进行解码的实例。encoder目录中的代码是对视频进行编码的实例。

2018-06-12

MessagePack序列化实例代码

MessagePack是一个基于二进制高效的对象序列化Library用于跨语言通信。它可以像JSON那样,在许多种语言之间交换结构对象;但是它比JSON更快速也更轻巧。 支持Python、Ruby、Java、C/C++、Javascript等众多语言。 比Google Protocol Buffers还要快4倍。本代码是在netty中使用MessagePack序列化

2017-12-02

LengthFieldBasedFrameDecoder 实例代码

netty中,大多数的协议在协议头中都会携带长度字段,用于标识消息体或则整包消息的长度。LengthFieldBasedFrameDecoder通过指定长度来标识整包消息,这样就可以自动的处理黏包和半包消息,只要传入正确的参数,就可以轻松解决“读半包”的问题。

2017-12-02

netty 分隔符解码器使用实例

Netty框架中LineBasedFrameDecoder分隔符解码器解决考虑TCP的粘包与拆包问题。依次编译bytebuf中的可读字符,判断看是否有“\n”或者“\r\n”,如果有,就以此位置为结束位置,从可读索引到结束位置区间的字节就组成了一行。它是以换行符为结束标志的解码器,支持携带结束符或者不携带结束符两种解码方式,同时支持单行的最大长度。如果连续读取到最大长度后,仍然没有发现换行符,就会抛出异常,同时忽略掉之前读到的异常码流。

2017-12-02

微软TTS语音引擎实现文本朗读代码

TTS(Text-To-Speech)是指文本语音的简称,即通过TTS引擎把文本转化为语音输出。TTS语音引擎有微软TTS语音引擎等。微软TTS语音引擎提供了Windows Speech SDK开发包供编程者使用。Windows Speech SDK包含语音合成SS引擎和语音识别SR引擎两种,语音合成引擎用于将文字转换成语音输出,语音识别引擎用于识别语音命令。

2017-11-07

pcm与g726相互转换

pcm与g726音频之间相互转换。选择ffmpeg g726编码器进行解码。ffmpeg g726解码器包括:AV_CODEC_ID_ADPCM_G726、AV_CODEC_ID_ADPCM_G726LE。如果海思g726码流类型为asf时,请选择AV_CODEC_ID_ADPCM_G726解码器类型;如果海思g726码流类型为RFC3551标准时,请选择AV_CODEC_ID_ADPCM_G726LE解码器类型。

2017-11-02

modbus lib vs2008

modbus协议动态库,支持 Linux, Mac OS X, FreeBSD, QNX and Windows

2017-10-08

Modbus C++实例

Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。Modbus协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。Modbus C++实例代码是基于VC编写的代码,包含了线程操作。

2017-09-17

环型缓冲区C++代码

环型缓冲区C++代码

2017-08-17

Hibernate注解配置表映射实例

Hibernate注解配置表映射实例

2017-08-12

Hibernate XML配置表映射实例

Hibernate XML配置表映射实例

2017-08-12

Thrift双向通讯java代码

Thrift双向通讯java代码

2017-08-06

Win10版本的ADO组件包

Win10版本的ADO组件包,文件版本号是10.0.14393.0

2017-07-30

thrift vc2008版本静态库

thrift对于的vc静态库,vc2008版本编译。

2017-07-06

mfc与duilib之间控件相互调用

mfc与duilib之间控件相互调用

2017-06-04

UIDesigner

Dui界面制作,修改skin文件(*.xml)保存失败问题。

2017-06-02

web调用本地应用程序exe例子

web调用本地应用程序

2017-02-16

librtmp获取视频流和音频流

librtmp获取视频流和音频流

2017-01-03

libsamplerate vs2008版本

采样率转换库libsamplerate的vs2008版本

2016-12-27

Flv文件提取视频流H264

从Flv文件中提取h264视频流

2016-12-16

VC静态库开发与调用

VC静态库开发与调用

2016-09-02

gsoap实例代码

gsoap实例代码,包含服务器代码和客户端代码,支持多线程。

2016-06-15

vlc插件和海康NetVideoActiveX23开发包

vlc插件和海康NetVideoActiveX23开发包

2016-06-12

移动应用界面设计的尺寸规范

移动应用界面设计的尺寸规范,包括android界面设计、ios界面设计、ipad界面设计。

2015-08-06

调试Release程序--Dump文件方式

在Windows平台下用C++开发应用程序,最不想见到的情况恐怕就是程序崩溃,而要想解决引起问题的bug,最困难的应该就是调试release版本了。目前有一些方法可以解决:崩溃地址 + MAP文件;MAP文件;SetUnhandledExceptionFilter + Minidump。

2014-05-15

检测一程序服务实例

一个简单的检测某程序(服务器)运行异常自动拉起程序的服务。

2013-02-02

BlowFish算法

BlowFish算法用来加密64Bit长度的字符串。

2012-02-11

VC编写与调用COM连接点demo

COM 中的典型方案是让客户端对象实例化服务器对象,然后调用这些对象。然而,没有一种特殊机制的话,这些服务器对象将很难转向并回调到客户端对象。COM 连接点便提供了这种特殊机制,实现了服务器和客户端之间的双向通信。使用连接点,服务器能够在服务器上发生某些事件时调用客户端。

2011-07-12

C++ 检测内存泄漏

C++ 检测内存泄漏 检测内存泄漏的方法多种多样,有使用内存泄漏检测工具(比如BoundsChecker)检测内存泄漏;有直接看代码检测代码逻辑,看那些地方是否没有释放内存。

2011-04-27

基于改进的S I F T特征的图像双向匹配算法

图像匹配是计算机视觉中许多领域的基础, 特征提取则是图像匹配的基础, 其中不变量特征是一 个重要的理论。S I F t 是最有效的尺度、 旋转、 亮度不变量局部特征之一, 但算法复杂、 计算时间长。分析 了S I F t的计算时间分配, 通过计算关键点的邻域梯度直方图时动态修改采样步长, 大大提高了S Wr的 计算速度。分析了基于S I F t特征的图像匹配算法, 提出了双向匹配算法, 提高了图像匹配的准确率。实 验结果表明所提出的方法是有效的。

2010-07-21

CppUnit测试框架在VC2008中应用

用CppUint进行测试时,一般先以某个函数或者某个类作为测试单元,完成测试;在完成这些基本的测试后,再将引用到测试过的这些函数或者类的函数或者类,作为测试单元完成测试;继续下去,从而完成整个模块甚至是整个系统的测试,从而达到更多清除bug的目的。

2010-07-19

WTL教程中文版资料

WTL 在开发者之间的悄悄传播已经超过一年了, 传闻它是基于ATL的,并在微软内部使用.这理所当然的引起了ATL开发者社区的注意.这些人从ATL1.1开始,就一直为ATL控件书写UI代码,但是他们发现,他们的所写的代码常常就是纯的Win32 GDI代码.我告诉您, WTL并没有多大不同.是不是让人失望? 不,因为ATL只是对COM进行了简单的封装,这也是ATL的强大之处. 是的,写ATL您必须通晓COM. 您在ATL上额外花费的功夫跟您学习COM所作的努力比起来,简直微不足道.这跟那些需要把主要精力花费在学习类库本身,忽略COM的库是完全不同的.WTL与此类似.您需要懂得Win32窗口技术和GDI.只要您懂得,学习WTL就似清风抚面,再简单不过了.如果您不懂 这些,那么您最好使用VB来写UI代码.

2010-04-21

空空如也

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

TA关注的人

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