自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

leno的专栏

记录成长点滴

  • 博客(43)
  • 资源 (25)
  • 收藏
  • 关注

原创 doxygen安装使用

1.先下载解压解压附件中Doxygen.zip(点击打开链接),安装doxygen,没有注意事项全都下一步安装即可2.安装graphviz-2.38.msi,没有注意事项全都下一步安装即可3.安装htmlhelp.exe3.配置doxygen

2017-11-30 11:25:32 727

转载 C++开源大全

c++开源大全

2017-07-24 10:51:33 564

原创 c++ int、long long 转string int转wstring

int、long long 转stringint 转wstring

2017-06-07 10:29:15 13647

原创 windows 获取当前模块所在文件夹路径

1.getmodulepath.h#ifndef GETMODULEPATH#define GETMODULEPATH#include #include /*** @class getmodulepath* @brief 这个类用来获取当前模块的绝对路径*/class GetModulePath{public: static HMODULE GetModuleH

2017-06-07 10:11:47 4443

原创 windows、linux获取当前时间

C\C++获取当前时间,跨平台

2017-06-07 09:52:47 1178

原创 vs2013+linphone3.7.0编译(win7系统)

windows linphone 3.7.0 编译运行

2016-10-27 15:01:08 3625 5

原创 TCP网络编程接口详细介绍

1.socket接口(用来创建网络套接字):        int socket(int family, int type, int protocol);        参数:family 指明协议族(IPv4:AF_INET)(IPv6:AF_INET6)                    type   TCP只支持字节流协议 SOCK_STREAM

2016-08-10 14:38:31 1584

原创 C++ sqlite数据库增删改查(基于sqlite3)

1.下载sqlite3源码编译库    下载地址:http://download.csdn.net/download/sunxianliang1/9598664    可以直接用vs2013打开,然后编译成库2.使用sqlite3库    1) sqlitebasev.h        #ifndef SQLITEBASEV_H#define SQLITEBASEV_H#

2016-08-09 14:31:13 8755

原创 使用zlib库解压*.zip文件

1.编辑zlib静态库1)实现zip文件压缩和解压的zlib库部分代码(基于zlib-1.2.5)这是zlib-1.2.5源码:http://download.csdn.net/download/sunxianliang1/9597876 这是整理好的源代码(只是把需要的挑选出来,可以用vs编译成库使用):http://download.csdn.net/download/sunxia

2016-08-08 14:47:19 8595

原创 C++ 获取当前时间毫秒数(兼容windows和linux)

#ifdef _WIN32 #include #include #else #include #endifunsigned long long GetCurrentTimeMsec(){#ifdef _WIN32 struct timeval tv; time_t clock; struct tm tm; SYSTEMTIME wtm; GetLocalT

2016-08-08 11:29:02 14720

转载 c++ 生成文件MD5

md5.h#ifndef MD5_H #define MD5_H #include #include /* Type define */typedef unsigned char byte;typedef unsigned long ulong;using std::string;using std::ifstream;/* MD5 declaration

2016-08-08 11:24:25 3117 1

原创 C++ 产生guid

windows和linux下产生guid方法

2016-08-08 11:06:32 2643

原创 Win32字符串编码格式转化

utf8、unicode、ascii编码之间转化

2016-07-29 16:03:27 1212

原创 设计模式--简单工厂

简单工厂模式,适合不同情况创建不同类对象时使用。缺陷:客户端必须要知道基类和工厂类,耦合性差。//算法基类class COperation{public: virtual double GetResult()=0;protected: int m_nFirst; int m_nSecond;};//加法class AddOperation : public COpera

2016-02-29 14:19:28 342

原创 Ubuntu 15.04 安装google protobuf步骤

1.安装的环境介绍:VMware虚拟机安装的Ubuntu 15.04系统2.安装前准备:确保m4、autoconf、automake、libtool已经正确安装过,如果没有安装一下为安装步骤(在管理员权限下操作)###安装m41. wget http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz2. tar -xzvf m4-1.4

2016-02-23 15:07:26 3810

原创 KindEditor 添加默认提示信息

Qt中用这个编辑框可以设置提示信息并且禁用跳转链接var editor;var tipFlag = true;var placeholderText = '';KindEditor.ready(function(K) { editor = K.create('textarea[name="detailContent"]', { cssData : 'body {font-f

2016-02-04 17:30:21 4486

原创 QT JS KindEditor 禁用超链接默认跳转功能

用Qt的QWebview发现加载KindEditor粘贴的超链接有个默认跳转功能,估计这是Qt的bug,浏览器就没这个问题。怎样仅用这个跳转?在网页中创建KindEditor时,添加如下代码即可禁用,但是样式还是小手,恶心啊,不知道怎么更改鼠标样式,试了各种方式都无效                  afterCreate:function(){//阻止点击链接默认跳转操作v

2016-01-26 16:14:35 1285

原创 设计模式--单例模式

概述:保证一个类仅有一个实例,并提供一个访问它的全局访问点。示例如下(非线程安全的,如果是多线程的单例模式需要加锁控制):#includeusing namespacestd;  //单例类的声明class Singelton{private://构造函数私有,外部无法调用       Singelton(){}//静态类对象指针       stati

2016-01-20 14:15:51 301

原创 C++预处理器

预处理操作是发生在程序编译开始之前,对C++源代码进行一些简单的处理。        预处理器的任务如下:1.解析#开始的命令,如下常用预处理命令   #include 在 程序中包含头文件        #if 条件#else 否则#elif 否则如果#endif 结束条件#ifdef 或 #if defined 如果定义了一个符号,

2016-01-19 10:32:38 372

原创 TCP连接的建立和终止

1.TCP连接的建立三路握手如下图所示:建立一个TCP连接情形如下:(1)服务器进程必须准备好接受外来的连接。通过调用socket,bind,listen这三个函数来完成,也可以称为被动打开。(2)客户进程通过connect函数发起连接(可以称为主动打开),客户端TCP会发送一个SYN(建立连接)分节,这个分节告诉服务器客户在连接中发送的数据的初始序列号。通常情况下SYN分节不

2016-01-04 16:03:18 540

原创 OSI模型、网际网协议模型

OSI模型和网际网协议模型对应关系如下图所示:计算机网络各层对等实体间交换的单位信息称为协议数据单元(protocol data unit,PDU)。按照协议与服务之间的关系(物理层除外),每层的PDU都是由紧邻下层提供给本层的服务接口,作为下层的服务数据单元(service data unit,SDU)传递给下层,并由下层间接完成本层的PDU交换。如果本层的PDU大小超过紧邻下层

2015-12-30 15:11:58 514

原创 大端、小端、网络字节序

网络字节序(Network Byte Order)一般是指大端(Big-Endian,对大部分网络传输协议而言)传输,大端小端的概念是面向多字节数据类型的存储方式定义的,小端就是低位在前,大端就是高位在前,(其中“前”是指靠近内存低地址,存储在硬盘上就是先写那个字节)。一、大小端概念1、首先大小端是面向多字节类型定义的,比如2字节、4字节、8字节整型、长整型、浮点型等,单字

2015-12-30 10:51:07 834

原创 Qt5主要机制和模块概述

Qt的几个主要机制1、The Meta-Object System,元对象系统 2、The Property System,属性系统 3、Object Model,对象模型 4、Object Trees & Ownership,对象树和所有权 5、Signals & Slots,信号和槽Qt的几个常用模块1.QtCore模块这是qt最核心的module,提供了几种q

2015-12-22 10:56:45 1257 1

原创 Qt reentrant、thread-safe

解释一下贯穿整个Qt帮助文档的俩个关键字reentrant、thread-safe。(通常用来修饰函数或者类)1.reentrant(可重入的):可以被多个线程同时调用,但是只能调用自己的数据(言外之意就是不能调用共享数据,负责会出现不可预知的结果)。2.thread-safe(线程安全的):可以被多个线程同时调用,而且可以使用共享数据和自身的数据。以上可以看出,thr

2015-12-10 15:20:16 815

转载 C++引用深度分析

引言      我选择写 C++ 中的引用是因为我感觉大多数人误解了引用。而我之所以有这个感受是因为我主持过很多 C++ 的面试,并且我很少从面试者中得到关于 C++ 引用的正确答案。       那么 c++ 中引用到底意味这什么呢?通常一个引用让人想到是一个引用的变量的别名,而我讨厌将 c++ 中引用定义为变量的别名。这篇文章中,我将尽量解释清楚, c++ 中根本就没有什么叫做别名的东

2015-10-28 10:20:55 431

原创 AJAX POST数据中有特殊符号处理方法

postData = ~!@#¥%……&*()——  ++++++——)&……%¥#postData = postData..replace(/%/g, "%25");postData = postData..replace(/\&/g, "%26");postData = postData..replace(/\+/g, "%2B");"+

2015-10-15 14:37:33 2573

转载 register、volatile、inline

1、register在函数内定义变量时,默认是 auto 类型,变量存储在内存中,当程序用到该变量时,由控制器发出指令将内存中该变量的值送到运算器,计算结束后再从运算器将数据送到内存。如果一个变量用 register 关键字修饰,编译器则尽可能将该变量存放在CPU的内部寄存器中,这样就不用通过内存寻址来访问变量,可以大大提高访问效率。2、volatilevolatile关键

2015-08-17 10:37:29 533

原创 Qt QTimer测试定时精度

调试信息输出窗口可以查看超时误差dialog.h文件#ifndef DIALOG_H#define DIALOG_H#include #include namespace Ui {class Dialog;}class QTimer;class Dialog : public QDialog{ Q_OBJECTpublic: explicit

2015-07-24 18:14:26 4815

原创 测试QTimer定时器精准度的小程序

可以在dialog上添加三个label查看时间和异常次数,也可以在打印输出栏看每次timer超时事件误差适度少(都是ms级别的)#ifndef DIALOG_H#define DIALOG_H#include #include namespace Ui {class Dialog;}class QTimer;class Dialog : public QDialog{

2015-07-24 17:24:49 1224

原创 Qt GUI 通过鼠标事件剖析整个事件处理流程(基于Qt4.5.2源码windows平台)

/*以下分析的是Windows平台 Qt GUI程序的事件产生,分发,处理全过程(基于Qt5.4.2源码整理)以一个鼠标按压的事件为例子讲述...表示省略掉一些代码(skip code)事件起源: 基于事件如何被产生与分发,可以把事件分为以下三类。Spontaneous 事件——自发事件由窗口系统产生,它们被放到系统队列中,通过事件循环逐个处理。(例如鼠标事件、键盘事件)Pos

2015-07-23 15:46:20 3645

转载 剖析Qt 事件的产生、分发、接受、处理流程

1、谁来产生事件: 最容易想到的是我们的输入设备,比如键盘、鼠标产生的keyPressEvent,keyReleaseEvent,mousePressEvent,mouseReleaseEvent事件(他们被封装成QMouseEvent和QKeyEvent),这些事件来自于底层的操作系统,它们以异步的形式通知Qt事件处理系统,后文会仔细道来。当然Qt自己也会产生很多事件,比如QObject

2015-07-22 11:03:28 4837 1

原创 CPU 读、修改内存数据过程

之前一直不明白为什么一个线程修改了数据(不用volatile修饰),而另一个线程读取时还是之前的值,网上查找了一些资料做了个总结,纯属个人理解如有不对请指正1.CPU缓存(Cache Memory)是位于CPU和内存之间的临时存储器,它的容量小但是数据交换速度很快。2.内存:它的容量比较大,但是CPU访问内存的效率相对缓存较低有了缓存和内存,内存储器(缓存+内存)就变成既有缓存

2015-07-21 17:05:48 6210 1

转载 QAtomicInt Memory Ordering

Memory OrderingBackground 很久很久很久以前,CPU忠厚老实,一条一条指令的执行我们给它的程序,规规矩矩的进行计算和内存的存取。 很久很久以前, CPU学会了Out-Of-Order,CPU有了Cache,但一切都工作的很好,就像很久很久很久以前一样,而且工作效率得到了很大的提高。 很久以前,我们需要多个CPU一起工作,于是出现了传说中的

2015-07-21 14:24:15 2797

原创 Qt与JSON

Qt的json解析相关类说明QJsonObject、QJsonValue、QJsonArray、QJsonDocument、QJsonParseError。

2015-06-17 17:19:14 500

转载 Qt Creator 快捷键

一般操作的键盘快捷键  操作  快捷键操作快捷键打开文件或项目Ctrl+O新建文件或项目Ctrl+N在外部编辑器中打开Alt+V,Alt+I选择全部

2015-06-10 10:51:28 542

原创 一个无边框带默认标题栏的widget

还有一些扩展接口没有添加,有兴趣的同学可以自己添加

2015-06-08 10:38:17 2107

转载 linux中使用内存映射(mmap)操作文件的方法

在使用内存映射操作文件之前,我们先按照常规的方式来读写文件,这种方式操作如下:1,打开或创建文件,得到文件描述符,2,将内存中的数据以一定的格式和顺序写入文件,或者将文件中的数据以一定的格式和顺序读入到内存;3,关闭文件描述符;下边是按照常规方式操作固定格式的文件的方法,包含读写两个示例;[cpp] view plaincopy

2015-06-06 15:27:19 586

转载 HTTP GET POST 详解

一 原理区别    一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETEURL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HT

2015-05-28 15:35:10 561 1

转载 http Get Post

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。  1

2015-05-28 15:33:19 403

转载 Qt Application的插件开发流程

创建一个QT的库项目,删除自动生成的.h和.cpp文件,添加一个接口定义.h文件和一个接口实现类(一个.h一个.cpp).代码如下:1.接口文件源码#ifndef PLUGININTERFACE_H#define PLUGININTERFACE_H#include class EchoInterface{public: virtual ~Echo

2015-05-27 11:07:30 506

doxygen帮助文档生成工具

doxygen帮助文档生成工具,c++、java可以使用相同注释规范,然后生成帮助文档

2017-11-30

SQLiteSpy_1.9.8.zip

sqlite数据库查看工具

2016-10-28

depends22_x86.zip

可以查看动态库的依赖关系和动态库是32位还是64位的

2016-10-28

HttpAnalyzerFull_V7.exe

可以抓取应用程序和浏览器的http请求和回应,很好用

2016-10-28

wheel-0.29.0.tar.gz

windows下wheel包

2016-10-27

python-2.7.12.msi

windows下python安装包

2016-10-27

pystache-0.5.4.tar.gz

pystache工具

2016-10-27

mingw-get-setup.exe

windows下模拟linux的编译器MinGW

2016-10-27

graphviz-2.38.msi

dot文件解析工具

2016-10-27

Git-2.10.1-64-bit.exe

Git代码管理工具

2016-10-27

GetGnuWin32-0.6.3.exe

GnuWin32-0.6.3工具

2016-10-27

doxygen-1.8.12-setup.exe

windows下doxygen-1.8.12帮助文档生成工具

2016-10-27

cmake-3.7.0-rc1-win64-x64.msi

CMAKE3.7.0编译器

2016-10-27

7z1604-x64.exe

7Z-64位安装包

2016-10-27

modifyfile.rar

编译linphone-desktop所依赖的压缩包

2016-10-27

C++对象模型 PDF中文清晰版.pdf

讲解C++对象内存分配模型

2016-10-27

SlickRun.rar

windows操作系统下快速启动软件的工具,解压即可使用

2016-10-25

Qt webchannel 使用示例

最新版的qt和html交互方法demo,通过webchannel交互,基于chrome内核

2016-08-09

sqlite3源码库

sqlite3源码,用vs2013打开项目,可以直接编译成库使用,用于访问sqlite数据库

2016-08-09

zlib-1.2.5源码包

zlib-1.2.5源码包。

2016-08-08

zip文件压缩解压库文件(整理过的)

基于zlib-1.2.5源代码整理的代码,实现了zip文件的解压、压缩功能,直接把代码用vs编译以后即可使用。

2016-08-08

zlib-1.2.5源码

2016-08-08

Qt实现远程协助功能

Qt 远程协助实现代码

2016-05-16

空空如也

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

TA关注的人

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