- 博客(44)
- 资源 (14)
- 收藏
- 关注
原创 以一种标准的办法,获取工作目录
void GetWorkingFolder(std::string& folder){ folder.resize(MAX_PATH*2 + 1, '\0'); //留长一点,防止后面再连接一个Cloudwalk时出错 //获取当前程序目录,如果是C盘,则获取APPDATA目录,然后在末尾添加目录后缀 HANDLE hExeHandle = GetModuleH...
2019-10-09 13:42:59
192
原创 QT的qnetworkservice,QNetworkAccessManager网络请求,异步和同步阻塞封装,加入lambda和信号槽封装请求响应
QT的qnetworkservice,QNetworkAccessManager网络请求,异步和同步阻塞封装,加入lambda和信号槽封装请求和相应。【封装源码下载】1:示例(1) 简单示例/* 使用lambda特性 */static HttpService http;http.get("https://www.qt.io") .onResopnse([](QByte...
2019-09-27 11:00:47
1563
1
原创 centos 编译安装opencv测试
1.CentOS具体版本: 2.安装步骤: 1).安装依赖: //sudo yum groupinstall "Development Tools" -y sudo yum installgcc cmake gtk2-devel numpy pkgconfig -y 2).下载opencv3.3.1.zip文件到~/Downloads/文件夹:...
2019-06-19 15:43:22
308
转载 移动场景下通信协议FlatBuffers、ProtocolBuffers、MessagePack选优
大家都知道JSON是纯文本协议,优点是可读性高,使用简单方便;而正是它的优点造成了它解析费时、解析内存耗费高、及数据量大的问题。在移动场景对性能要求极高的情况下,选择JSON作为通信协议无疑不是最佳。为了解决上述问题,特对MessagePack、FlatBuffer、ProtocolBuffers这几种当下流行的通信协议进行了学习研究,与JSON相对比,综合不同场景分析协议的优劣之处。首先简单介...
2019-02-25 13:48:12
1684
原创 基于Qt封装window service服务程序
基于Qt封装window service服务程序下载 1: 封装window服务应用流程:程序入口继承QtService,重写start pause resume方法,实现服务的启动,暂停,恢复功能。class MyWindowServiceAPP : public QtService<QApplication>{public: MyWindowServi...
2018-08-15 14:29:39
9905
6
转载 利用qmake生成Makefile文件
在linux下写程序,免不了要写Makefile文件,用automake,总感觉比较麻烦,linux人喜欢做麻烦的事,以显得风格迥异。其实用qmake生成Makefile文件相当简单。1 装好qmake工具2 在源码工程目录下,运行qmake -project这样会生成一个*.pro文件。3 运行qmake -makefile *.pro,生成Makefile文件。此Makefile文件,包含很多...
2018-06-19 17:19:21
970
原创 基于开源库tufao,一个C + +的异步 Web 框架,使用Qt的对象的通信系统(信号与槽)
基于开源库tufao,一个C + +的异步 Web 框架,使用Qt的对象的通信系统(信号与槽)tufao是一个由QT编写的HTTP服务器。 tufao代替apache来实现http的通信。本实例在window平台,以源码形式加载到Qt pro项目,Qt mingw版本编译测试运行。ps:code依赖boost库,请自行下载,修改.pro所依赖boost路径。完整版本源码下载> 步骤:1) 在...
2018-02-11 10:33:10
1538
原创 QT之自定义的QSS
如这一篇QSS样式表 http://blog.youkuaiyun.com/liang19890820/article/details/51992070简述在Qt之QSS(样式表语法)一节讲过关于“设置对象属性”的用法,里面有一条很重要的原则是:任何可被识别的Q_PROPERTY都可以使用qproperty-语法设置。属性下面我们以QLabel为例,讲解如何在QSS中使用属性。class Q_WIDGETS
2018-01-19 15:38:23
1252
转载 Git和Github简单教程
网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上。这篇文章主要的目标是用较少的时间学习Git和GitHub的基本使用。在足够一般使用的前提下,尽量减少命令。如果需要其他命令,到时候再去其他地方了解就行了。零、Git是什么我才不告诉你嘞一、G
2017-09-06 15:36:41
352
原创 设计模式总结,应用场景
c++设计模式:简单工厂模式工厂模式有一种非常形象的描述,建立对象的类就如一个工厂,而需要被建立的对象就是一个个产品;在工厂中加工产品,使用产品的人,不用在乎产品是如何生产出来的。从软件开发的角度来说,这样就有效的降低了模块之间的耦合。使用情景: 在不确定会有多少个处理操作时应该考虑使用简单工厂模式,如针对同样的接收到的数据,处理的逻辑可能会不同,可能以后还会增加新
2017-04-19 11:09:16
1548
转载 Android的线程和线程池
前言线程在Android中是一个很重要的概念,从用途上来说,线程分为主线程和子线程,主线程主要处理和界面相关的事情,而子线程则往往用于执行耗时操作。由于Android的特性,如果在主线程中执行耗时操作那么就会导致程序无法及时地响应,因此耗时操作必须放在子线程中去执行。在操作系统中,线程是操作系统调度的最小单元,同时线程又是一种受限的系统资源,即线程不可能无限制的产生,并且线程的创建
2016-10-19 10:12:12
412
转载 Android Handler之内存泄露
在Android开发中,使用Handler的地方很多,大致通常写法如下: private Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { if (msg.what == 1) { mAdapte
2016-10-19 09:58:32
295
转载 从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
Handler每个初学Android开发的都绕不开Handler这个“坎”,为什么说是个坎呢,首先这是Android架构的精髓之一,其次大部分人都是知其然却不知其所以然。今天看到Handler.post这个方法之后决定再去翻翻源代码梳理一下Handler的实现机制。异步更新UI先来一个必背口诀“主线程不做耗时操作,子线程不更新UI”,这个规定应该是初学必知的,那要怎么来解决
2016-10-19 09:54:28
318
原创 收藏qt学习的网站
http://blog.youkuaiyun.com/liang19890820/article/details/51752029http://blog.youkuaiyun.com/liang19890820/article/details/51957568 //圆饼形的进度条http://blog.youkuaiyun.com/liang19890820/article/details/519445
2016-07-19 18:26:31
340
原创 C单链表基本功能
#include "stdafx.h"#include "stdio.h"#include #include "string.h" typedef int elemType ; /************************************************************************//* 以下是关于线性表链接存储(单
2016-06-13 17:43:45
366
原创 setcallback的DLL和应用衔接处理
工作中细节应用设计:DLL中和APP获取数据衔接, 比如需要DLL中处理实时数据回传到APP应用中,使用回调方式获取数据。APP侧调用:Dll初始化时候要注册callbak。void NetcardState(bool isConnect){ //TO DO CODE}netcartState->SetCallBackFuc((long)Net
2016-05-30 14:37:45
700
原创 c++ 使用的第三方lib库
libxml2——xml的c语言版库,2个项目使用过,win和Linux下都很犀利~~比较快捷CURL—— 这个用的主要是使用了他的封装的http和https的请求,比较犀利,其中包含了openssl的内容iconv——功能强大的编码格式转化库,UTF8,Unicode等互相转化很方便openssl——C的开源密库,可以进行证书加密和https的访问的模拟提交可以和CURL
2015-12-07 15:55:02
772
转载 c++开源日志库log4cplus
1. 简介log4cplus是C++编写的开源的日志系统,The purpose of this project is to port the excellentLog for Java(log4j)logging library to C++。log4cplus具有灵活、强大、使用简单、多线程安全的特点,实在是杂牌军、游击队的福音。2. 安装使用(Linux)log4cp
2015-11-14 13:36:31
513
转载 QT model/view 详细资料 总结
Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系。这种结构带来的功能上的分离给了开发人员更大的弹性来定制数据项的表示,它也提供一个标准的model接口,使得更多的数据源可以被这些item view使用。这里对model/view的结构进行了描述,结构中的每个组件都进行了解释,给出了一些例子说明了提供的这些类如何使用
2015-10-23 15:36:35
1049
原创 dll,exe数据连接交互
主应用程序加载DLL,需要DLL处理数据并交互至主应用时,使用回调函数方便实现:typedef void (*CALLBACKFUNC)(WPARAM wparam,LPARAM lparam); //原型DLL interface:DLLEXPORT void PASCAL CMDRegCallBackFunc(LPARAM pCallBack); // 设
2015-10-16 17:45:19
957
转载 QSS定制自定义QSlider
QSlider中有四个比较重要的辅助控制器(subcontrol),groove表示槽的部分,handle表示滑块,add-page表示未滑过的槽部分,sub-page表示已滑过的槽部分。在辅助控制器后面可以设置状态,horizontal就是QSS生效的QSlider的状态,注意这里设置的方向一定要和slider对象的方向一致,如果slider是vertical的,QSS设定的是horizonta
2014-11-07 14:36:45
412
原创 boost::function 用来注册bing函数(switch N多case的解决方案)
工作中需要根据不同类型来调用不同函数接口时,通常使用switch case来实现switch(itemType) { case ...; case ...; . . . } 不断的添加新的需求会导致case分支很多,使用boost库解决方案:typedef boost::function TypeOnUseItemHandler; //
2013-10-21 14:11:49
533
原创 boost::asio::ip::tcp实现网络通信的小例子
服务端:Boost.Asio是一个跨平台的网络及底层IO的C++编程库,它使用现代C++手法实现了统一的异步调用模型。头文件#include 名空间using namespace boost::asio; ASIO库能够使用TCP、UDP、ICMP、串口来发送/接收数据,下面先介绍TCP协议的
2013-10-17 17:39:55
676
转载 [精通WindowsSocket网络开发-基于VC++实现]第三章——WindowsSockets基础—TCP,UDP程序 .
目录(?)[+]TCP程序TCPServerTCPClientTCP APIUDP程序UDPServerUDPClientUDP APITCP程序 TCPServer// TCPServer.cpp : 定义控制台应用程序的入口点。//接收客户的发来的"MyTCP"#include #include #pragma comment(lib,"ws2
2013-05-28 16:46:30
763
转载 关于函数strtok和strtok_r的使用要点和实现原理(一)
buffernulllibrary百度文档网络目录(?)[+]函数的作用是分解字符串所谓分解即没有生成新串只是在s所指向的内容上做了些手脚而已因此源字符串s发生了变化若要在第一次提取子串完毕之后继续对源字符串s进行提取应在其后第二次第三次第n次的调用中将strtok的第一个参数赋为空值NULL关于函数返回值的探讨参数 分隔符delim的探讨delim是分隔符的集合待分解的字符串
2013-04-12 12:58:51
474
转载 Socket编程之简单介绍
一:套接字编程相关知识点Socket概念:套接字是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机进行,也可以跨网络进行。网络中的进程是通过socket来通信的。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –>关闭close”模式来操作。我的理解就是Soc
2013-03-19 17:22:08
1017
原创 c++简单读写文本,统计文件的行数,读取文件数据到数组
fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。ifstream -- 从已有的文件读 ofstream -- 向文件写内容fstream - 打开文件供读写文件打开模式:ios::in 读ios::out 写ios::app 从文件末尾开始写ios::binar
2013-03-19 17:06:19
1189
转载 C++ Socket编程步骤
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2:绑定套接字到一个IP地址和一个端口上(bind());3:将套接字设置为监听模式
2013-03-19 15:53:34
428
原创 c++ printf 使用
1.调用格式为 printf("格式化字符串>", 参量表>);其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符,以"%"开始, 后跟一个或几个规定字符,用来确定输出内容格式。参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应,否则将会出现意想
2013-03-06 22:04:39
13107
原创 google protocol buffer lite_WINCE 总结
在网站 http://code.google.com/p/protobuf/downloads/list上可以下载 Protobuf 的源代码。然后解压编译安装便可以使用它了。 使用2.4.1版本,源代码目录下vsprojects/libprotobuf-lite.vcproj,以及自己整理的lite工程, (1):Create a Win32 Smart Device Pr
2013-01-21 11:30:44
609
转载 经典开源C/C++工具包
C/C++ SOAP工具包gSOAPgSOAP一种跨平台的C和 C++软件开发工具包。生成C/C++的RPC代码,XML数据绑定,对SOAP Web服务和其他应用形成高效的具体架构解析器,它们都受益于一个XML接口。 这个工具包提供了一个全面和透明的XML数据绑定解决方案,Autocoding节省大量开发时间来执行SOAP/XML Web服务中的C/C++。此外,使用XML数据绑定
2013-01-10 09:42:29
947
转载 Google Protocol Buffer 的使用和原理
简介什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol
2013-01-07 15:03:30
370
原创 WINCE 读取注册表数值
读取HKEY_CURRENT_USER\\comm\\PWRSwitch中number的值DWORD dwStatus = 0;HKEY hKey = NULL;DWORD dwValue = 0;DWORD cb = sizeof(DWORD);dwStatus = RegOpenKeyEx( HKEY_CURRENT_USER,_T("comm\\PWRSwitch"
2012-12-20 16:13:35
423
转载 Windows多线程间同步事件的控制方法
摘要:在Windows 95中所有的应用程序实际上都以是线程的方式运行的。在设计多线程应用程序中有时必须在线程之间保持一定的同步关系,才能使用户能够对独立运行的线程进行有效的控制。为此本文在简要介绍Windows 95中线程的概念及其创建方法后,提出了一种在多线程之间利用 event对象实现事件同步的控制方法。最后还介绍了在不同应用程序之间进行同步事件控制的方法,这种方法使得不同应用程序进行相互间
2012-12-10 14:39:23
598
转载 莫言领取诺贝尔文学奖演讲稿(中英文)----讲故事的人
尊敬的瑞典学院各位院士,女士们、先生们:Distinguished members of the Swedish Academy, Ladies and Gentlemen:通过电视或网络,我想在座的各位,对遥远的高密东北乡,已经有了或多或少的了解。你们也许看到了我的九十岁的老父亲,看到了我的哥哥姐姐我的妻子女儿和我的一岁零四个月的外孙子,但是有一个此刻我最想念的人,我的母亲,你们永远无法
2012-12-10 10:29:16
2618
转载 标准ASCII表
ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符0NUT32(space)64@96、1SOH33!65
2012-12-06 13:27:06
353
转载 字符,字节和编码
[+]字符,字节和编码引言编码问题的由来,相关概念的理解字符与编码的发展字符,字节,字符串字符集与编码常用的编码简介字符与编码在程序中的实现程序中的字符与字节C++ 中相关实现方法Java 中相关实现方法几种误解,以及乱码产生的原因和解决办法容易产生的误解非 UNICODE 程序在不同语言环境间移植时的乱码网页提交字符串从数据库读取字符串电子邮件中的
2012-12-05 11:36:18
300
原创 QT中处理Windows消息
为了能处理某些qt无法处理的事件,可以自己处理windows事件。处理windows事件是重写QApplication::winEventFilter(MSG*,long)函数来实现的。假如功能想捕获所有在窗体上的鼠标中键按下的消息,需要继承QApplication类: class MyApplication:public QApplication { Q_OBJECT
2012-12-04 15:10:33
2872
QtNetworkService.rar
2019-09-27
QT QSerialPort 封装,阻塞方式发送数据后等待读取缓冲区数据结果,使用QT信号量阻塞,线程中初始化串口和读取数据。
2018-05-23
基于开源库tufao,一个C + +的异步 Web 框架,使用Qt的对象的通信系统(信号与槽)
2018-02-11
【代码工具】Qt 自定义QPushButton样式表(灵活选择)
2017-09-12
QT,qtcreator编译protocol buffer,支持编译MSVC,mingw版本
2017-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人