自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

System Architect

Struggling

  • 博客(30)
  • 资源 (3)
  • 收藏
  • 关注

转载 调试器的工作原理

调试器的工作原理《黑客调试技术揭秘》 理解调试器的工作原理  对调试器的工作原理毫无所知就贸然地使用它是很愚蠢的。所以,在本节中,我将介绍调试器工作的基本原理和理论基础。这可不是一个简明易懂的论述,不过,能让你抓住所要研究问题的主要思想。“Intel Architecture Software Developer’s Manual Volum

2014-01-26 16:39:02 1839

转载 QT的文件操作

今天学习QT的文件操作:1、QIODevice直接继承自QObjectQIODevice类是输入/输出设备的基类。QIODevice为设备提供了公共实现和抽象接口用于读写块数据。QIODevice是一个抽象类,不能被实例化。被Q3Socket,Q3SocketDevice,QAbstractSocket,QBuffer,QFile,QLocalS

2014-01-22 10:19:31 1257

转载 c++中vector的用法

标准库Vector类型使用需要的头文件:#include Vector:Vector 是一个类模板。不是一种数据类型。 Vector是一种数据类型。一、 定义和初始化Vector v1; //默认构造函数v1为空Vector v2(v1);//v2是v1的一个副本Vector v3(n,i);//v3包含n个值为i的元素Vector v4(n); //v4含有n

2014-01-21 10:43:41 790

转载 QT使用流读写XML

导语       从Qt 4.3开始引入了两个新的类来读取和写入XML文档:QXmlStreamReader和QXmlStreamWriter。 QXmlStreamReader类提供了一个快速的解析器通过一个简单的流API来读取格式良好的XML文档,它是作为Qt的SAX解析器的替代品的身份出现的,因为它比SAX解析器更快更方便。QXmlStreamReader可以从Q

2014-01-20 19:40:35 2070

转载 什么是内存泄漏 ,如何避免?

Java最显著的优势之一就是它的内存管理机制。你只需简单创建对象,然后Java垃圾回收机制便会小心的分配和释放内存。然而,事实并非如此简单,因为在Java应用程序中经常发生内存泄漏。本教程说明了什么是内存泄漏,为什么会发生,以及如何防止它们。1.什么是内存泄漏?内存泄漏的定义: 对象不再被应用程序使用,但是垃圾回收器却不能移除它们,因为它们正在被引用。要理解这个定义

2014-01-17 14:16:16 2428

转载 QWidget、QMainWindow、QDialog和QFrame的区别

继承关系:在Qt中所有的类都有一个共同的基类QObject ,QWidget直接继承与QPaintDevice类,QDialog、QMainWindow、QFrame直接继承QWidget 类。2,说明:QWidget类是所有用户界面对象的基类。窗口部件(QWidget)是用户界面的一个基本单元:它从窗口系统接收鼠标,键盘和其他事件,并且在屏幕上绘制自己。每个窗口部件都是矩形的,并

2014-01-16 16:12:27 1284

转载 strlen,strcat,strcpy,strncpy,strcmp的具体实现

strcpy函数:[cpp] view plaincopychar *strcpy(char *Dest , const char *Src)  {      assert((Dest != NULL) && (Src != NULL));      char *address = Dest;      while((*Dest++ = *S

2014-01-14 15:05:12 1254

转载 Linux网络编程基础和一步一步学

·Linux网络编程 基础(一)·Linux网络编程 基础(二)·Linux网络编程 基础(三)·Linux网络编程 基础(四)·Linux网络编程 基础(五)·Linux网络编程 基础(六)• Linux网络编程一步一步学-简单客户端编写  • Linux网络编程一步一步学-绑定IP和端口• Linux网络编程一步一

2014-01-14 12:24:25 4060

转载 解析VC++ Name Mangling 机制

摘要在C++中,Name Mangling 是为了支持重载而加入的一项技术,目前C++ Name Mangling 并没有统一的标准,也没有较完整的中文文档化资料,所以本篇文章在VS2005环境中,解析C++ Name Mangling 的技术细节,以及怎样将VC Name Mangling后的名称还原为可读的形式。 目录l        Name Mangling 简介 

2014-01-13 20:22:36 880

转载 c++中RTTI的观念和使用

下面这篇文章虽然有点老,但对C++的RTTI基本原理讲的比较透彻。该文章摘自UMLCHINA网站,是台湾一个群体写的,我根据大家比较熟悉的方式,修改了一些名词的说法,如衍生(派生)等,让大家可以方便的阅读。C++的 RTTI 观念和用途物泽C++应用小组  自从1993年Bjarne Stroustrup 〔注1 〕提出有关C++ 的RTTI功能之建议﹐以及C++的异常处理

2014-01-13 19:40:02 764

转载 \r 和 \n 的区别

结论:在Windows中回车键是当做\r\n的组合来使用的,不是当做\n\r组合来使用'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。以下是在一个论坛里看到的:我自己编了几个程序,得出一个结论“在Windows中回车键是当做\r\n的组合来使用的,不是当做\n\r组合来使用”,网上很多文章我认为都说错了,今给出2个程序我不知

2014-01-12 17:27:13 3581 2

转载 c 与 c++中的time相关函数

本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。    关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)    1.

2014-01-12 13:56:35 844

转载 QwtPlot解析

QwtPlot类是一个二维绘图部件,继承自QFrame 和 QwtPlotDict。不过严格的说来,它只是一个视图窗口,真正的绘制设备是它的中心部件QwtPlotCanvas类。在QwtPlot的画布上可以显示不限数量的图元项(plot items)。这些图元项可以是曲线(QwtPlotCurve),标签(QwtPlotMarker),网格(QwtPlotGrid),或者其它任意的从QwtPlot

2014-01-09 10:38:43 3654

转载 成为Linux内核高手的四个方法

我曾经问别人如何开始内核编程的学习,他们基本上都说:①如果你不需要了解内核是如何为你工作的,你为何要尝试呢?②你应该订阅Linux内核邮件列表,然后努力去理解。③如果你不去编写针对Linux内核的代码,你就是在浪费时间。这些对我一点儿帮助都没有。所以我在这里列举了一些可行的方法,他们是有关操作系统和Linux内核是怎样在你的项目里工作的,而且还很有趣。虽然我知道得并不多,但至少比我做这些之

2014-01-08 14:12:56 791

转载 类成员的初始化总结

C++为类中提供类成员的初始化列表。类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员2.进入构造函数后在构造函数中执行一般计算  1.类里面的任何成员变量在定义时是不能初始化的。  2.一般的数据成员可以在构造函数中初始化。  3.const数据成员必须在构造函数的初始化列表中初始化。  4.static要在类的定义外面初始化。 

2014-01-08 11:12:28 1300

转载 结构体、类的成员变量、成员函数是如何分配内存的?

类的成员函数是如何分配内存的?类的成员函数的代码定义在PE文件的代码区,所以从程序加载时,就已经分配好了内存用于存放这些代码;代码运行时所需要的内存,比如栈、堆等等,则是代码运行时才分配的;对于某个类的所有对象来说,类成员函数只在内存中有一份拷贝,所有的对象都共享同一份成员函数的代码。同一个类的不同的对象之间的差异仅仅是通过成员变量来体现的。关于结构体和C++类的内存地址问

2014-01-08 11:05:02 2341

转载 野指针的问题探讨

什么是野指针?野指针,也就是指向不可用内存区域的指针。通常对这种指针进行操作的话,将会使程序发生不可预知的错误。 “野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。野指针的成因主要有两种: 一、指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,

2014-01-08 09:54:47 872

转载 命令行的故障排除:给linux初学者的建议

从1991年到现在,linux才诞生了20多年,虽然他只比我小一岁,但是他已经走过了很长的路了。并且,他现在比以前更可靠和稳定。但是linux任然是有问题的,相信你能判断并修复任何问题。桌面冻结该怎么办?在使图形环境更稳定的过程中,复合窗口管理器是一个巨大的进步。但是,有时候你们漂亮的linux图形化桌面锁起来了,那么你会怎么办?你所要做的是通过ctrl + alt +

2014-01-07 15:29:54 895

转载 typedef用法总结

第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针

2014-01-07 14:54:24 835

转载 Debug 和 Release版本的区别

Debug 和 Release 并没有本质的区别,他们只是VC预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动。如果我们愿意,我们完全可以把Debug和Release的行为完全颠倒过来。当然也可以提供其他的模式,例如自己定义一组编译选项,然后命名为MY_ABC等。习惯上,我们仍然更愿意使用VC已经定义好的名称。     Debug版本包括调试信息,所以要比Release版本大很多(

2014-01-07 10:11:34 1029

转载 const、volatile、mutable的用法总结

const、volatile、mutable的用法const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value值不可变。 例如:const

2014-01-06 16:20:46 890

转载 QWT中QwtPlotPicker的介绍及使用

Qwt是用于绘制科学图形的Qt库。Qwt中的Picker是一个拾取器,通俗的说就是用户的鼠标指到哪里就获得哪里的信息(往往是x,y坐标)。QwtPicker类所获得的坐标信息是依赖于窗口的。而在Qwt中,用户所见的科学坐标系是绘制在Plot上的。Plot坐标不与窗口坐标相比,不但原点位置不同,而且方向也不一定相同(见图1)。但是Plot坐标与窗口坐标是有一定相对关系的,为此,Qwt提供了QwtPl

2014-01-06 13:25:36 3051 1

转载 qwt画曲线图实例

来源:http://blog.csdn.net/kupe87826/article/details/8235204参考:http://baike.baidu.com/view/2622589.htm           qwt下的realtime工程 环境:vs2010,qt4.7.4,qt-vs-addin-1.1.11-opensource.,qwt6.0.1,

2014-01-06 10:27:34 6419

转载 assert用法总结

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#i

2014-01-05 22:15:51 618

转载 什么是Segmentation fault(Core Dump)?

error:Segmentation fault(Core Dump)这是我用g++时报的错误。什么是Core Dump?Core的意思是内存, Dump的意思是扔出来, 堆出来.开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped). 这时候可以查看一下有没有形如core.进程号的文件生成, 这个文件便是操作系统

2014-01-04 12:42:19 2715

转载 bash批量修改文件名称的方法小结(增加,去除,修改后缀)

bash批量修改文件名称的方法总结了下,包括为文件增加后缀、修改文件名后缀、去除文件名后缀、修改文件名前缀。如下:一、加后缀1.问题:同以目录下有海量以日期命名的文件,其中有的有后缀,有的以点结尾,如20020101.,20020102.,……,20020101.td,20020102.td……要求: 把所有以点结尾的加上后缀.ts我的方法:复制代码代码

2014-01-04 11:40:38 5044

转载 vi中文件保存退出命令“:wq”和“:x”的区别

vi是Unix/Linux系统最常用的编辑器之一,我习惯使用":x"命令来保存文件并退出,不愿意使用":wq"命令是因为它得多敲一个字母。 但是,今天我才知道":x"和":wq"的真正区别,如下: :wq   强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。 :x    写入文件并退出。仅当文件被修改时才写入,并更新文件修改

2014-01-04 11:21:05 1530

转载 shell编程入门

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。Linux的Shell

2014-01-04 10:35:47 843

转载 SHELL 编程

SHELL 编程    shell 是一个命令解释器,侦听用户指令、启动这些指令、将结果返回给用户(交互式的shell)    shell 也是一种简单的程序设计语言、利用它可以编写一些系统脚本。查看本机shell 信息:    cat /etc/shells        --查看本支持的shell         echo $SHELL        --查看当前支

2014-01-04 10:25:15 804

转载 “error LNK2019:无法解析的外部符号”的解决方案

在使用vs2008调试程序的过程中,经常会出现无法解析的外部符号问题,可能的原因有很多种,下面这些是我一年来积累的经验.仅供参考. 考虑可能的原因:[0]出现无法解析可能是因为lib文件不正确,比如64位的编译配置,结果使用的是32位的lib包.[1]只写了类声明,但还没有写实现类,造成调用时无法解析[2]声明和定义没有统一,造成链接不一致,无法解析[3]没

2014-01-02 15:36:27 13366

网络安全基础:应用与标准(第4版)

从第一章到第11章,还有附录A,B。非常全,主要介绍了网络安全的应用和标准

2013-08-04

简单的计费管理系统

此系统是用java及相关的技术开发的一个简单的计费管理系统,体现了一个最基本的计费管理系统框架,实现了一个计费管理的流程。

2011-12-29

基于AT89C2051单片机的电风扇

本文介绍一个采用AT89C2051单片机芯片(以下均简称其为“单片机”)制作的“电风扇定时开关电路”,该电路既可按照系统默认的定时时间参数自动运行,也可由使用者随时通过按键输入设置新的定时时间参数;在整个定时时间内,既可选择使用“连续风”状态,也可选择使用“阵风”状态。具有电路简单、制作容易、设置方便、使用灵活等优点。该电路的控制软件及硬件电路均已实际调试运行通过,非常适合在业余条件下制作、安装和使用,也可由电风扇专业生产厂将其作为自动控制电路,在新型电风扇产品中安装。通过该电路,您可以进一步了解到“单片机”电路的应用扩展功能和指令应用技巧

2010-05-04

空空如也

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

TA关注的人

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