自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (17)
  • 收藏
  • 关注

原创 nginx源码分析--状态机执行

/** * 11个阶段处理HTTP请求 */voidngx_http_core_run_phases(ngx_http_request_t *r){ ngx_int_t rc; ngx_http_phase_handler_t *ph; ngx_http_core_main_conf_t *cmcf; cmcf = ngx_http_get_module_main_conf(r, ngx_http_core_module)

2020-09-11 17:56:47 190

原创 nginx源码分析--状态机模型

nginx在处理客户端发来的http数据,主要是通过11个阶段的处理,形成了状态机模式。typedef struct { ngx_array_t servers; /* ngx_http_core_srv_conf_t */ //http框架初始化后各个http模块构造的处理方法组成phase_engine,由下面各阶段处理方法构成的phase数组构建的阶段引擎才是流水式处理http请求的实际数据结构 ngx_http_phase_en

2020-09-11 10:46:43 461

原创 nginx源码分析--多路复用epoll的初始化流程

NGX_EVENT_MODULE类型的module有两个:(1)ngx_event_core_module第一个事件类型模块,它的主要功能是负责解析事件类配置项,选择事件处理机制(select,poll,epoll还是kequeue机制),创建连接池,预分配读写事件池等。ngx_event_core_commands[] 中指定处理conf配置的关于sevents的配置项(2)ngx_epoll_module/** * 工作进程初始化 */static voidngx_worker_proc

2020-09-11 09:45:50 225

原创 nginx源码分析--module模块的初始化

谈一下zeromq的整体架构:zeromq作为一种高性能的消息队列中间件,主要依赖于linux的异步机制,所有的操作全部在子线程中处理,不会阻塞主线程。具体对线程的封装类:(1)io_thread:class io_thread_t : public object_t, public i_poll_events { public: io_thread_t (zmq::ctx_t *ctx_, uint32_t tid_); // Clean-up

2020-09-11 08:58:59 451

原创 zeromq源码解析

zeromq源码解析zmq是一款异步的高性能的消息队列中间件,有多种语言版本,目前本人看的是基于C++的版本,在研读zmq代码过程中由于大量的异步设计,使得代码的阅读性较低,所以将梳理的代码历程记录于此。欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编

2020-09-07 11:05:46 620

转载 刨根究底字符编码之零——前言

http://www.cnblogs.com/benbenalin/p/6881980.html

2017-12-03 19:50:34 186

原创 QT中文乱码的解析

在使用QT过程中经常会遇到中文乱码问题,我们一般的解决办法是:(1)QString str = QString::fromLocal8Bit("中文");(2)QString str = QString(QStringLiteral("中文"))这样确实解决问题,但是为什么这样就可以解决问题呢?通过一段代码我们来解析这个问题。#i

2017-11-14 22:57:07 1458

转载 pdb文件小结

.pdb文件,是VS生成的用于调试的符号文件(program database),保存着调试的信息。在VS的工程属性,C/C++,调试信息格式,设置/Zi,那么VS就会在构建项目时创建PDB文件。在这里要区分两种情况:1、构建静态库时,可以在工程属性 –> C/C++ –> 输出文件 –> 程序数据库名 设置生成的pdb文件名称,如果不指定,默认是生成为VCx0.pdb,这里x是V

2016-09-19 11:28:17 1302

原创 Qt中update()和repaint()的源码分析

Qt中update()和repaint()的源码分析

2016-06-08 14:44:59 7259 2

原创 单元测试覆盖率生成网页报告----(五)邮件通知

当单元测试构建完成后需要通过邮件通知用户,这节我们来逐步配置邮件通知功能。首先在系统配置中配置SMTP服务器:

2015-08-06 13:16:49 958

原创 单元测试覆盖率生成网页报告----(二)

在做测试报告时肯定涉及到代码的远程提交,我这里选择使用SVN,接下来演示如何一步一步配置SVN。很多内容参考:http://huihai.iteye.com/blog/1985238svn是apache的一个开源项目,全称为subversion。是一个基于版本的项目管理软件,一般在多人开发的项目中使用,目前svn已经替代了原来的cvs。大多数情况下,svn服务安装在linux服务器上。下面简单

2015-07-28 17:04:43 809

原创 单元测试覆盖率生成网页报告----(四)

通过前几期的构建,我们已经可以在jenkins中对一个单独的exe执行文件进行测试并生成覆盖路报告。但是有两个问题:        1、鉴于SVN管理源码,我们不可能每次要求用户将exe执行文件上传,如何能够在用户上传源码以后也能在远程实现重新的编译生成exe执行文件呢?2、如果用户需要在job中可以同时构建多个工程,该如何实现?3、如果用户上传了新的工程,如何在构建时自动检测并同以前

2015-07-28 16:57:02 1824

原创 单元测试覆盖率生成网页报告----(三)

在QT Creater中可能只需要点击按钮就可以把把当前工程进行编译、链接、运行,但是当用户提交源码到远程服务器时,服务器要自动对源码进行编译和运行生成exe执行文件并通过openCppCoverage测试生成覆盖率报告,这样就需要使用Dos命令来自动执行。具体步骤如下:1、配置环境变量:添加C:\Qt\Qt5.1.1\5.1.1\msvc2010\bin      (qmake)

2015-07-27 17:20:27 1702

原创 C++回忆录:(二)inline内联函数

在C/C++语言中,函数调用会涉及到函数的入栈和出栈,比如下面的例子:Void myprint(){Printf("%d",3);}Void main(){Int i;For(i=0;i<100;i++)Myprint(2);}在主函数中调用myprint函数打字2这个数字,我们就要调用函数100次,意味着这个函数要进栈100次,出栈100次,这样我们就

2015-07-26 15:24:57 500

原创 C++回忆录:(一)new和malloc的区别

new和malloc的区别,以前都是迷迷糊糊的用,今天在其他博客上看到了,就顺便整理过来。内部数据类型是编译器本来就认识的,不需要用户自己定义;非内部数据类型不是编译器本来就认识的,需要用户自己定义才能让编译器识别。运算符使用是否正确,编译器在

2015-07-25 11:42:51 551

原创 单元测试覆盖率生成网页报告----(一)

在C++中单元测试的框架有很多,但是能够生成覆盖率报告的却很少,接下来带大家一步一步集成测试环境。

2015-07-24 21:46:53 4297 1

原创 STL容器

STL的容器可以分为以下几个大类: 一:序列容器, 有vector, list, deque, string.二 : 关联容器,     有set, multiset, map, mulmap, hash_set, hash_map, hash_multiset, hash_multimap三: 其他的杂项: stack, queue, valarray, bitset

2015-06-02 16:25:44 329

原创 C++ const和#define区别

const定义常量和#define定义常量的区别   答:(1)编译器处理方式不同         #define宏是在预处理阶段展开。         const常量是编译运行阶段使用。(2)类型和安全检查不同         #define宏没有类型,不做任何类型检查,仅仅是展开。         const常量有具体的类型,在编译阶段会执行类型检查。(3)存储方式

2015-06-01 21:38:39 348

原创 C++ 内存详解(二)

在本文中主要是介绍C++中类在实例化过程中在内存中的分配。很多人都知道C++类是由结构体发展而来,所以他们的成员变量(C语言的结构体只有成员变量,C++的结构体和类基本相同,除了默认成员变量的属性,类成员变量默认私有,结构体成员变量默认公有,C++保留结构体主要是兼容C程序)的内存分配机制是一样的。下面我们以类来说明问题,如果类搞清楚了,结构体也就明白了。类分为成员变量和成员函数,我们先讨论成

2015-05-26 16:38:57 419

原创 C++ 内存详解(一)

以前学过C++编程语言,但是只是学习一些基本概念性的知识,然后完成老师布置的简单的作业,仅限于此。在去年找工作时,突然发现很多公司非常注重C++的内存管理,自己也就临时抱佛脚,看了一下《程序员面试宝典》和《剑指Offer》,在网上查了一些资料,自己记了一些,对于C++有了一个新的认识。现在时隔半年多,马上快毕业了,突然意识到C++中内存的重要性,尤其是在接触QT以后,开始打算把C++的基础再夯实一

2015-05-26 14:28:37 1496

原创 Qt 关于Qt5中QPrinter问题

在用Qt做记事本的时候出现:QPrinter:no such file or directory 的错误,解决方法如下:在.pro文件中添加下面一行代码:qtHaveModule(printsupport): QT += printsupport就可以了,头文件不需要改。这是因为Qt 5中将所有打印的相关类都放到了Qt Print Support模块造成的。

2015-05-07 08:52:23 7917

原创 Qt OpenGL----纹理贴图

为了让三围图形看上去更真实,可以在三维物体上贴上纹理图像。纹理贴图能够保证当三围物体变换和渲染时,纹理能够表现出正确的行为。纹理通常是二维的,但它也可以是一维或者三维的。这里通过一个简单的例子来学习基本的纹理贴图功能。例子是对立方体每一面进行不同的纹理贴图并进行旋转。废话不多说,直接看代码:类定义:#ifndef MYGL_H_#define MYGL_H_#include #in

2015-05-04 16:26:08 4243

原创 Qt OpenGL----着色、3D和旋转

在本文中主要是通过绘制一个三角锥和立方体来介绍openGL中的着色、3D和旋转的应用。废话不多说,直接上代码:类定义:#ifndef MYGL_H_#define MYGL_H_#include #include class MyGLWidget : public QGLWidget{ Q_OBJECT public: MyGLWidget(QWidget * p

2015-05-04 15:45:26 1456

原创 Qt OpenGL----创建openGL窗口

为了满足高级绘图的需求,在Qt中支持OpenGL接口和矢量图形格式SVG。使用OpenGL可以完成3D绘图,SVG模块则可以绘制XML格式的矢量图形SVG。Qt还支持直接操作显存的QGLFramebufferObject对象。1、OpenGL是最开始在SGI公司推出的3D绘图编程接口,OpenGL具有绘制三维图形的各种函数,但不包括窗口系统或处理用户输入的函数。为了在Qt中使用OpenGL,Q

2015-05-04 14:32:51 1121

转载 Qt5.2中使用OpenGL的glu函数库无法使用的解决方案

在Window7使用Qt5.2学习OpenGL时,出现了以OpenGL中glu开头的函数库无法使用的错误,例如:'gluPerspective'  was not declared in this scope.本文使用的QT版本是Qt 5.2.0 for Windows 32-bit (MinGW 4.8, OpenGL, 689 MB)(Info),我尝试了一下,最终在Window7

2015-04-24 15:18:31 3032

原创 QT 打开txt文件以及出现的乱码问题

在用QT实现记事本打开功能时,在导入txt文件后会出现乱码问题,这时需要对导入文件编码进行设置。代码如下:void MainWindow::open(){ QString fileName; //弹出打开文件对话框 fileName = QFileDialog::getOpenFileName(this, tr("打开文件"),

2015-04-22 19:54:58 6008 4

原创 QT 信号和槽需要注意的几点

connect(发出信号的对象指针,SIGNAL(信号函数原型), 响应信号的对象, SLOT(槽函数原型));  这里先说说信号及槽与普通成员函数有什么区别,只是定义的区域不同而已.信号函数需要声明在头文件的signals:关键字后面,无需实现.而槽则需要定义在public/private slots:关键字后面,实现与正常函数一样,可以直接调用,当然调用权限与slots前面的范围控制关

2015-04-18 16:59:44 2055

原创 QT学习网站

近期开始学习QT,记录一下看到的比较好的网站:《Qt学习之路》 http://www.cnblogs.com/tornadomeet/tag/Qt%E5%AD%A6%E4%B9%A0%E4%B9%8B%E8%B7%AF/

2015-04-18 16:28:12 662

转载 字符编码详解

转载自:http://polaris.blog.51cto.com/1146394/377468/以前一直被编码问题困扰,然后专门抽出时间一探究竟,在网上看到文章《字符编码详解——彻底理解掌握编码知识,“乱码”不复存在》,但是篇幅略长,现进行总结以备后用。在此之前,先了解一些有用概念:“字符集”、“字符编码”和“内码”。1、字符集与字符编码字符是各种文字和符号的

2015-04-18 11:02:53 446

转载 QT 去掉标题栏和去掉标题栏后移动窗口

转自:http://www.2cto.com/kf/201302/191602.html最近公司在做一个C++项目,功能做的差不多了,现在是界面方面修改,要想做出好看的界面,标题栏是个问题,所以我选择把标题栏去掉,去掉标题栏方法比较简单,就一行代码this->setWindowFlags(Qt::FramelessWindowHint);去掉以后又发现一个问题,就是不能移动窗口

2015-04-18 10:26:59 6651 1

原创 c语言课程设计笔记

1. 在使用fwrite()函数时,必须同时伴随fclose()函数,否则,在文件写入的内容不会显示。2.在用#define定义文件名时,一定要注意,例如:#define FILE_DATA "data.dat"  在使用if((fp=fopen(FILE_DATA ,"wb+"))==NULL)进行判断时就会报错,但是如果改为:#define DATA_FILE  "data.dat"

2013-12-12 19:46:10 845

《COM本质论》

《COM本质论》详细描述了com组件的核心原理,对于学习C++的同学,这是一本必不可少的书籍

2018-05-20

GB2312和Unicode在QT中输出二进制值

QT中有中文乱码问题,我们通过代码输出中文在GB2312和unicode两种编码方式在内存的存储方式来解析中文乱码的原因。

2017-11-14

DES加密解密源码(C#)

C#实现的DES加密解密工具

2016-06-08

glut.lib和glut32.lib库文件

'gluPerspective' was not declared in this scope‘错误的解决方法:下载glut.lib和glut32.lib这两个库文件,将其拷贝到你的QT安装目录下的Qt5.2.0\5.2.0\mingw48_32\lib文件夹下,这样QT编译器会自动到该lib目录下搜相应的库文件,即glu函数库的实现。

2015-05-26

Qt OpenGL实现立方体的纹理贴图和旋转

Qt中OpenGL实现立方体的纹理贴图和旋转

2015-05-04

Qt OpenGL实现三角锥和立方体

在Qt中使用OpenGL实现三角锥和立方体,并对图形3D绘制、着色、旋转

2015-05-04

QT绘制简单OpenGL图形

QT中用OpenGL绘制简单的三角形和五角星,针对初学者,注释非常详细

2015-05-04

Qt实现记事本功能

仿照window自带的记事本,基本实现了记事本的功能

2015-04-22

QT实现音乐播放器

QT实现音乐播放器,主要是用于代码学习,其中比较重要的是歌词的动态显示

2015-04-18

Qt局域网聊天工具

Qt局域网聊天工具,使用qt开发的,支持群聊和私聊

2015-04-18

《精通Qt4编程》 源码

《精通Qt4编程》源码,作者为:蔡志明、卢传福、李立夏等

2015-04-17

CPN tools4.0

CPN tools是专门的petri网建模仿真工具,下载直接能用,不用在官网申请license

2013-12-15

wifi共享软件

这是一个wifi共享软件,可以共享你笔记本上已连接的宽带、ASDL、CCM—EDU等,让你的其他移动设备也能无限畅游网络,不受任何限制……

2013-04-27

apache tomcat

apache tomcat是java web开发必备的插件,把tomcat配置在myeclipse上,你就可以你的web开发了

2013-04-23

PLsql development的注册码

PLsql develop 的注册码,亲测成功,请放心使用

2013-04-23

oracle faq

oracle的帮助文档,我在网上找了好久才找到的,希望帮到大家

2013-04-23

空空如也

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

TA关注的人

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