appsink的功能
通常方法:gst_app_sink_pull_sample(), gst_app_sink_pull_preroll()gst_app_sink_pull_preroll(),gst_app_sink_pull_preroll()max-buffers 属性 限制buffer size!!! If the application is not pulling samples fast ...
MFC编程过程中如何发出和接收自己定义的消息
当涉及单文档或多文档视图或多个窗口编程时,如果每个对话框之间需要一定的控制联系,较好的方法就是自己定义的消息,然后在对话框中分发出去,主框架根据不同消息响应不同的操作。下面的例程为单文档视图,实现自定义消息的分发与响应如下:一、定义自己的消息:注意:定义消息的值最好大于等于 (WM_USER+100),因为在区间 [WM_USER, (WM_USER+100)] 中很多值可能已经被使用,为防止...
宽字节字符集(Unicode)、多字节字符集(Multi-Byte) 自适应
CString 转 stringCString cstrTest = _T(test);string strTest;string = CT2A(cstrTest.GetString());string 转 CStringstring strTest=test;CString cstrTest;cstrTest= CA2T(strTest.c_str());这里使..._宽字节字符集(unicode)、多字节字符集(multi-byte)
用wcout输出有汉字的wstring
必须要加入这条语句才可以输出汉字wcout.imbue(std::locale(“chs”));//必须加这一句,才能输出有汉字的wstring。wcout 不能用来输出 string对象。cout 也不能用来输出 wstring 对象。..._wstring 插入 汉字
MFC中调用WPF教程
呵呵, 这几天看到社区里大家对如何在vc中调用WPF兴致很高, 现在我就带领大家按部就班来实现它.废话不说了, 开始.WPF是微软主推的新一代桌面程序开发技术, 它极大加快了程序界面开发,也增强了界面的用户体验,至于详细的介绍大家可以google, 本文主要还是介绍如何在vc中处理wpf数据和事件.开发工具嘛vs2008+sp1+[Blend].1.新建一个项目MFCHostWpf, 建立..._mfc中使用wpf界面
MFC自定义button实现颜色控制
1、新建一个button按钮,修改Owner Drawer的属性为True2、在工程新建CCustomButton类#pragma once#include stdafx.h// CustomButton dialogclass CCustomButton : public CButton{ DECLARE_DYNAMIC(CCustomButton)public: C..._((cbutton*)getdlgitem(idc_button1))->settextcolor(rgb(0
MFC隐藏对话框边框和可拖动
1、进入工程视图模式,修改对话框Border属性为None此时已经去掉了边框。如果还想让对话框可拖动,则需要在工程视图模式的对话框界面右键,选择类向导–>消息–>WM_LBUTTONDOWN,重载函数OnLButtonDown修改OnLButtonDown:void CCTVPlugDlg::OnLButtonDown(UINT nFlags, CPoint po...
Protobuf使用不当导致的程序内存上涨问题
protocol buffers[1]是google提供的一种将结构化数据进行序列化和反序列化的方法,其优点是语言中立,平台中立,可扩展性好,目前在google内部大量用于数据存储,通讯协议等方面。PB在功能上类似XML,但是序列化后的数据更小,解析更快,使用上更简单。用户只要按照proto语法在.proto文件中定义好数据的结构,就可以使用PB提供的工具(protoc)自动生成处理数据的代码,使...
protobuf序列化string数据遇'\0'截断问题
sMainFrame 是序列化之后的string对象,大小为sMainFrame.size(); 此时 根据数据的不同, 进行测试会出现 sMainFrame.size() 与 strlen(sMainFrame.c_str()) 大小不一致,我还 以为是序列化不成功,其列化是成功的,不过string中有’\\0’字符,这样比较是不合理的。 应该在反序列化处进行处理。具体方法如下:...
windows下编译protobuf
1、下载CMake.exe2、下载g++、gcc(可以安装一个qt,然后将qt里面的g++路径加到PATH环境变量中)3、下载protobuf工程https://github.com/protocolbuffers/protobuf/releases/tag/v3.0.0-beta-14、用cmake-gui打开protobuf工程选择目录后,点击Configure,然后再Genera...
error C2664: 不能将参数 1 从“const TCHAR [256]”转换为“const wchar_t *”
TCHAR 在多字节的前提下是char类型,在unicode下才是wchar_t类型的,所以需要设置成unicode的字符集。工程中使用Unicode字符集。
std::cout精度丢失
今天调试发现c++的cout在输出地理经纬度位置的时候,精度竞然出现丢失了。修改为如下,完美解决:char lati[25] = { ‘\\0’ };char loni[25] = { ‘\\0’ };sprintf(lati, “%.20lf”, predictedPosition.lat);sprintf(loni, “%.20lf”, predictedPosition.lon);std::cout << lati << << loni <<_warning: catching polymorphic type ‘class qexception’ by value [-wcatch-va
MFC打开控制台的2种方式
配置相关属性如下:属性->配置属性->生成事件->后期生成事件->命令行 中添加editbin /subsystem:console (OutDir)(OutDir)(OutDir)(TargetName).exe使用cout或者printf向控制台输出 也可以通过获取标准输出句柄然后调用WriteConsole 方式输出...
网络中的大包和小包相关问题总结
所谓大包就是一个数据包内,包含的数据字段比较多。整个数据包最大不超过1500字节。小包也是一样的,就是包含的数据字段比较少,整个包最小可以在64字节。一般来说,数据包的大小主要由程序来控制。比如游戏,他要求强烈的实时性,低延迟。报文交互频繁,但是速度一定要快。游戏类的数据包基本都是小包。大包主要是,视频,下载之类的,因为这种报文需要尽可能的为你提供更高的下载速率。他的报文基本上都是最大的。小包一般用于控制,比如dns请求,网络游戏等。如果你玩游戏,看网页,一般小包居多。如果你下载文件,看视频,大包居多。_网络传输大包和小包
STL vector+sort排序和multiset/multimap排序比较
在C++的STL库中,要实现排序可以通过将所有元素保存到vector中,然后通过sort算法来排序,也可以通过multimap实现在插入元素的时候进行排序。在通过vector+sort进行排序时,所有元素需要先存入vector容器中,sort在排序时又需要将元素全部取出来再进行排序。multimap底层实现为红黑树,因此元素在插入的过程中就实现了排序。那么到底哪一种排序速度更快呢?下面有一个测试程序:#include <vector>#include <set>#incl
将字符串以某个分隔符分隔
话不多说,直接上代码:// 将str字符串以“division”字符分隔,最终结果生成多个子字符串并保存到vStr中。void StringSplit(const std::string& str, std::vector<std::string>& vStr, const char& division){ try { int startPos = 0; int endPos = std::string::npos; startPos = str._字符串按分隔符分割的算法
c++实现http客户端和服务端的开源库以及Base64加密密码
cpp-httplib的链接地址:https://github.com/yhirose/cpp-httplib/blob/master/example/benchmark.cc
周排行