自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

步步天明的专栏

缘来缘去缘如水

  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 CAN 总线协议(2)

1.CAN协议1.1 帧类型通讯时使用下面5个类型的帧:    数据帧    遥控帧    错误帧    过载帧    帧间空隙    在所有这些帧中,数据帧和遥控帧由用户设置,而其它帧则由CAN硬件设置。    数据和遥控帧有两种格式:标准和扩展格式。标准格式有11bit的ID,而扩展格式则是29bit的ID。    每个帧的用处见表6,每个帧的结

2017-04-17 15:57:42 478

原创 CAN 总线协议(1)

1.CAN总线是什么?    CAN(Controller Area Network)是ISO国际标准化的串行通信协议。广泛应用于汽车、船舶等。具有已经被大家认可的高性能和可靠性。    CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐性电平。    “显性”具有“优先”的意味,只要有一个单元输出显性

2017-04-17 15:37:42 436

转载 CAN 总线协议(1)

1.CAN总线是什么?    CAN(Controller Area Network)是ISO国际标准化的串行通信协议。广泛应用于汽车、船舶等。具有已经被大家认可的高性能和可靠性。    CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐性电平。    “显性”具有“优先”的意味,只要有一个单元输出显性

2017-04-17 15:36:13 215

转载 Qt中QString,int,char,QByteArray之间相互转换

int  转 QStringint m=1;QString b;b=QString::number(m)QString 转intQString a="1111"int b;b=a.toInt()char 转换为 QStringchar a='b';QString str;str=QString(a);QString 转换为 charQ

2016-03-29 13:24:43 378

转载 QT 操作excel

[cpp] view plain copy print?//--------------------------------------------------------------------------------------------------  void OExcelWnd::openExcel()  {      excel = new 

2016-03-29 13:14:29 833

转载 Qt常用片段代码库

1.Qt中QString,int,char,QByteArray之间相互转换2.QT获取系统当前时间[cpp] view plain copy print?#include     QDateTime dt;    QTime time;    QDate date;    dt.setTime(time.curr

2016-03-29 13:10:45 583

转载 Qt拷贝文件、文件夹(QFile::copy)

版权声明:本文为博主原创文章,未经博主允许不得转载。[cpp] view plain copy print?//拷贝文件:  bool MyTest007::copyFileToPath(QString sourceDir ,QString toDir, bool coverFileIfExist)  {      toDir.r

2016-03-29 13:08:06 5393 1

原创 多线程锁类型使用

根据完成任务所需要的结构不同,一个应用程序可能会使用多种不同类型的锁原语,因此,开发人员必须避免在一个给定任务中混淆这些锁原语,尤其在使用第三方提供的库时需要格外小心。假设在一个应用程序中,资源R依赖于第三方提供的库,并且在该库中资源R使用L型锁作为同步原语。此时,若开发者需要在应用程序中对资源R使用锁原语,则必须也使用L而不是其他类型的锁原语。接下来的部分将介绍不同类型的锁,并详细说明它们的用途

2016-02-19 15:14:42 1297

原创 多线程服务器模型-one loop per thread

多线程服务器模型-one loop per thread: 此种模型下,程序的每个IO线程有一个event loop, 用于处理读写和定时事件。*eventloop 代表线程的主循环,需要让哪个线程干活,就把timer或者IO channel注册到那个线程的loop里。*对实时性有要求的connection可以独占一个线程*对于数据量的可以独占一个线程,

2016-02-19 14:50:04 2724

转载 高性能服务器(libevent的使用)

这篇文章介绍下libevent在socket异步编程中的应用。在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的函数(或接口)并向系统注册,然后在需要的时候只向系统提交读写的请求之后就继续做自己的事情,实际的读写操作由系统在合适的时候调用我们程序注册的接口进行。异步编程会给一些程序猿带来一些理解和编写上的困难,

2016-02-19 13:43:07 1531

转载 libevent 使用

利用libevent编写服务端程序,主要有3部分//创建主通知链base1.base = event_base_new(); //创建要监听的事件,并将其加入到主通知链中。2.listener_event = event_new(base, listener, EV_READ|EV_PERSIST, do_accept, (void*)base); 

2016-02-19 13:40:00 292

原创 关于僵尸进程

在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等.但是仍然为其保留一定的信息(包括进程号the process ID,退出状态the termination status of the process,运行时间the amount of CPU time taken by the process等),直到父进程通过wait / waitpid来取时才释放,此时该进程便成

2016-02-19 13:20:37 277

转载 C++ 内存池

打开浏览器,搜索了下内存管理的概念,百度百科中是这样定义的:内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。说到内存,与之紧密相联系的一个概念就是指针。回想起上学那会儿,自己对指针是即喜欢,又害怕。因为学好了指针,就可以学好C,继而学好C++,但面对那些晦涩的概念,和程序运行中一些莫名其妙的指针越界、内存泄露……

2016-01-20 16:11:23 304

转载 C++ 内存池

打开浏览器,搜索了下内存管理的概念,百度百科中是这样定义的:内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。说到内存,与之紧密相联系的一个概念就是指针。回想起上学那会儿,自己对指针是即喜欢,又害怕。因为学好了指针,就可以学好C,继而学好C++,但面对那些晦涩的概念,和程序运行中一些莫名其妙的指针越界、内存泄露……

2016-01-20 16:09:39 96

转载 RabbitMQ源码解析前奏--管理与监控

RabbitMQ提供了完善的管理和监控工具,分management plugin和rabbitmqctl两种类型的工具,具体如下:一、management plugin    rabbitmq-management plugin提供HTTP_API来管理和监控RabbitMQ Server,具体包含如下功能:   Declare, list and de

2015-08-11 14:22:42 399

转载 RabbitMQ源码解析前奏--配置

对于RabbitMQ如果是简单的应用case,则用缺省配置即可,如果是复杂应用,则需要定制服务器配置。下面就开始详细配置之旅吧。    RabbitMQ通常有以下2种方式来定制Server:一、环境变量      环境变量初始值通过文件rabbitmq-env.conf来配置,rabbitmq-env.conf默认在/etc/rabbitmq,且位置不可更改。  rabbi

2015-08-11 14:19:52 584

转载 RabbitMQ源码解析前奏--AMQP协议

AMQP即高级消息队列协议,接下来从三个方面来浅析该协议。一、协议    AMQP协议分层类似于OSI或TCP/IP协议分层。从图中可以看出分三层:图1 AMQP协议分层图1、Model Layer    规范服务器端Broker的行为。2、Session Layer    定义客户端与服务器端Broker的Context。3、Transport L

2015-08-11 14:17:34 282

转载 RabbitMQ源码解析前奏--安装

RabbitMQ支持各种操作系统,包括Unix\Linux及其各种发行和变种版本、Windows、MAC等。    首先需要下载安装包,可以是二进制,也可以是源码安装,各种包集合下载地址在这里。    由于支持的操作系统众多,那么版本也就众多,本文以Centos为例:一、Erlang安装    RabbitMQ基于Erlang,所以必须先安装Erlang,具体如何安装参考这

2015-08-11 14:16:50 362

转载 RabbitMQ源码解析前奏--AMQP协议

AMQP即高级消息队列协议,接下来从三个方面来浅析该协议。一、协议    AMQP协议分层类似于OSI或TCP/IP协议分层。从图中可以看出分三层:图1 AMQP协议分层图1、Model Layer    规范服务器端Broker的行为。2、Session Layer    定义客户端与服务器端Broker的Context。3、Transport Layer

2015-08-11 14:13:25 310

转载 shell 脚本编程

1. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh   符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。   当编辑好脚本时,如果要执行该脚本,还必须使其可执行。   要使脚本可执行:编译 chmod +x filename 这样

2014-11-25 13:10:29 595

转载 UDP 广播

linux 广播广播是一台主机向局域网内的所有主机发送数据。这时,同一网段的所有主机都能接收到数据。发送广播包的步骤大致如下:(1)确定一个发送广播的接口,如eth0(2)确定广播的地址,通过ioctl函数,请求码设置为SIOCGIFBRDADDR得到广播的地址(3)使用这个广播地址进行广播在局域网内,广播通常用来探测服务器。 广播发送端: 1 主机:

2014-11-05 11:01:18 366

转载 SELECT FD_ZERO FD_ISSET

FD_ZERO,FD_ISSET这些都是套节字结合操作宏看看MSDN上的select函数, 这是在select   io   模型中的核心,用来管理套节字IO的,避免出现无辜锁定. int   select(     int   nfds,fd_set   FAR   *readfds,     fd_set   FAR   *writefds,                      

2014-11-05 09:15:47 652

转载 TCP-UDP Socket

一、概述TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(stream socket)的一种。UDP:用户数据报协议。UDP是一种无连接协议。UDP套接口是数据报套接口(datagram socket)的一种。二、T

2014-11-04 15:43:02 406

原创 c语言字符串函数详解

void *memset(void *dest, int c, size_t count); 将dest前面count个字符置为字符c.返回dest的值.void *memmove(void *dest, const void *src, size_t count);从src复制count字节的字符到dest. 如果src和dest出现重叠, 函数会自动处理.

2014-09-24 09:47:08 346

转载 QML ListView Element

QML ListView ElementThe ListView item provides a list view of items provided by a model. More...ListView项展示了由model提供的项的列表视图。Inherits FlickableList of all members, including inherited mem

2014-06-24 10:24:37 4435

转载 QML与C++交互:登陆界面设计

QML与C++交互:登陆界面设计本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.环境:主机:WIN7开发环境:Qt5.2.1说明:QML设计前台界面,C++后台负责逻辑效果图:源代码:前台q

2014-06-23 15:09:58 1075

转载 QML学习文档_通宵测试完的 .

import QtQuick1.0/*3.基本元素的介绍基本可视化项Item 基本的项元素 在QML中所有可视化的向都继承他Rectangle 基本的可视化矩形元素Gradient 定义一个两种颜色的渐变过程GradientStop 定义个颜色,被Gradient使用Image 在场景中使用位图BorderImag

2014-06-20 15:57:40 597

转载 QML元素介绍

Quick3D 学习文档 qt中让应用程序透明, 关闭QML程序QML学习文档  2011-01-12 15:06:36|  分类:QT |  标签:|举报|字号大中小 订阅1. 介绍QML是一种描述语言,主要是对界面效果等的一种描述,它可以结合javaScript来进行更复杂的效果及逻辑实现。比如做个游戏,实

2014-06-20 14:11:45 745

转载 QML各个属性详解

QML的结构有点类似于javascript的json表达式的写法。第一部分:共有属性由于QML里的各个可视化对象均继承于Item类,因此共有属性也就是Item的属性(Item本身确是不可视化的)                        1、id这个是用来唯一标识各个资源的,以小写字母开头,注意这只是一个标识,不是QString类型的一个值,同时这个属性可以省略。例如:Te

2014-06-20 14:09:16 7052

转载 ubuntu下svn使用指南

ubuntu下安装subversion客户端:sudo apt-get install subversion subversion-tools详细请看 http://www.subversion.org.cn/svnbook/1.1/index.html svn子命令1、检出svn  co  http://路径(目录或文件的全路径) [本地目录全路径]  --usern

2014-06-13 08:47:01 455

转载 在Qt中连接SQLite和MySQL数据库

下载SQLite数据库首先到SQLite官方网站下载:http://www.sqlite.org/download.html得到sqlite3.exe。即可.就可以操作数据库了。运行cmd到该指定的目录下,使用如下命令:如F:\软件\学习软件\数据库\SQlite\sqlite-3_6_17>sqlite3.exe test  并有以下提示:En

2014-05-22 10:24:35 1969

转载 安装 qwt6

安装Qwt6.0(Ubuntu)分类: Qt linux 2013-07-08 15:32 444人阅读 评论(2)收藏 举报1、使用Ubuntu的Software Center安装Qt creator;2、下载Qwt6.0,http://sourceforge.net/projects/qwt/;并将其存放到/opt/下面;3、按照User G

2014-05-14 10:58:47 572

转载 Qt设置控件颜色

一般的属于QWidget子类的一些控件,可以直接使用样式表,例如label->setStyleSheet("color:white");Qpalette类相当于对话框或是控件的调色板,它管理着控件或窗体的所有颜色信息,每个窗体或控件都包含一个QPalette对象,在显示时按照它的QPalette对象中对各部分各状态下的颜色的描述来进行绘制。就像油漆匠的油漆计划,当要刷墙时,到计划中去查

2014-05-13 10:26:15 984

转载 关于TCP打洞技术(P2P)

建立穿越NAT设备的p2p的TCP连接只比UDP复杂一点点,TCP协议的"打洞"从协议层来看是与UDP的"打洞"过程非常相似的。尽管如此,基于TCP协议的打洞至今为止还没有被很好的理解,这也造成了对其提供支持的NAT设备不是很多。在NAT设备支持的前提下,基于TCP的"打洞"技术实际上与基于UDP的"打洞"技术一样快捷、可靠。实际上,只要NAT设备支持的话,基于TCP的p2p技术的健壮性将比基于U

2014-04-25 15:32:08 555

原创 Arm-linux-gcc-4.3.2安装步骤

安装交叉编译工具链:1、首先以root用户登入2、复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里3、解压命令tar xvzf arm-linux-gcc-4.3.2 -C /注意以上命令必须要有-C而且是大写,后边有个空格也要注意。4、配置下编译环境路径 在控制台下输入 gedit /root/.bashrc 等一会出来文本编辑器后在文件最后

2014-04-17 14:49:10 407

转载 Linux UDP 单播 组播 广播实现

linux udp单播 组播 广播实现 1、组播和广播需要在局域网内才能实现,另外得查看linux系统是否支持多播和广播:ifconfigUP BROADCAST MULTICAST MTU:1500 跃点数:1说明该网卡支持2、发送多播包的主机需要设置网关,否则运行sendto()会出现"networkis unreachable",网卡可以随便设置,但是一定要设。还要添加路

2014-03-17 14:27:03 1153

转载 2012-02-26 16:22 TCP/IP详解12: 广播和多播

三种I P地址:单播地址、广播地址和多播地址。广播和多播仅应用于 U D P,它们对需将报文同时传往多个接收者的应用来说十分重要。单播(unicast): 帧仅发往单个目的主机,目的地址指明单个接收接口.广播(broadcast): 一个主机要向网上的所有其他主机发送帧.多播(multicast): 帧仅传送给属于多播组的多个主机.首先了解一下主机对由信道传送过来帧的过滤过程:

2014-03-17 13:55:20 714

原创 C++ 解析XML

XMLC++下载地址 http://sourceforge.net/projects/tinyxml/ 官网有详细的文档以及API介绍 感觉像javaXML解析文件一样好用读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。TinyXML是一个开源的解析

2014-03-14 14:52:09 643

转载 QT中定时器使用办法

在Qt中使用定时器有两种方法,一种是使用QObiect类的定时器;一种是使用QTimer类。定时器的精确性依赖于操作系统和硬件,大多数平台支持20ms的精确度。■、QObject类的定时器QObject是所有Qt对象的基类,它提供了一个基本的定时器。通过QObject::startTimer(),可以把一个一毫秒为单位的时间间隔作为参数来开始定时器,这个函数返回一个唯一的整数定时器的标

2014-03-14 13:58:21 1319

转载 LINUX 下时间和定时器

Linux下时间和定时器一、问题的提出我们开发程序时,经常会遇到时间和定时器的问题,为了更好的使用时间和定时器,现在列举一个一些时间结构体、函数和定时器。二、解决思路1.时间类型1) time_t是一个长整型,一般用来表示用1970年以来的秒数。2)struct timeval有两个成员,一个是秒,一个是微妙。struct timeval {        

2014-03-14 11:07:10 560

Mini6410 Qt4和Qtopia

比较详细的介绍了qt 的移植,适合 开发人员参考。经过验证可以实现

2012-11-27

空空如也

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

TA关注的人

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