- 博客(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>...
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 <...
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
2024-04-16
librtmp x64 vs2015版本库文件
2022-05-09
ice同步调用和异步调用实例代码
2019-04-07
Qt中调用MFC对话框
2019-03-23
thrift web实例代码
2018-12-07
websocketpp实例代码
2018-11-29
MessagePack序列化实例代码
2017-12-02
LengthFieldBasedFrameDecoder 实例代码
2017-12-02
netty 分隔符解码器使用实例
2017-12-02
微软TTS语音引擎实现文本朗读代码
2017-11-07
pcm与g726相互转换
2017-11-02
Modbus C++实例
2017-09-17
调试Release程序--Dump文件方式
2014-05-15
VC编写与调用COM连接点demo
2011-07-12
C++ 检测内存泄漏
2011-04-27
基于改进的S I F T特征的图像双向匹配算法
2010-07-21
CppUnit测试框架在VC2008中应用
2010-07-19
WTL教程中文版资料
2010-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人