自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

All sad people like poetry, happy people like song

The more you care, the more you have to lose.

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

原创 C++中的static关键字的总结

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。1.面向过程设计中的static 1.1静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下://Example 1#include <iostrea

2016-08-07 19:22:06 336 4

原创 iic总线介绍

在I2C 总线中唯一出现的是被定义为起始S 和停止P 条件见图5 的情况 其中一种情况是在SCL 线是高电平时SDA 线从高电平向低电平切换这个情况表示起始条件 当SCL 是高电平时SDA 线由低电平向高电平切换表示停止条件 起始和停止条件一般由主机产生总线在起始条件后被认为处于忙的状态在停止条件的某段时间后 总线被认为再次处于空闲状态总线的空闲状态将在第15 章详细说明 如果产生重复起始

2016-07-09 23:01:57 1009

原创 arm指令系统(RISC|CISC)

一: CISC(Complex Instruction Set Computer)复杂指令计算机 CISC是台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路。指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。CISC是一种执行整套计算机指令的微处理器,起源于80 年代的MIPS主机(即RISC 机),RISC机中采用的微处理器统称RISC处理器。这样一来,它能够以更

2016-06-19 14:37:42 4666 3

原创 Qt 学习之路 :MainWindow 简介

前面一篇大致介绍了 Qt 各个模块的相关内容,目的是对 Qt 框架有一个高屋建瓴般的了解。从现在开始,我们将开始尝试使用 Qt 开始新的历程。由于我们已经比较详细地介绍过信号槽的相关内容,因此我们可以用一个新的程序开始进一步的学习,同时对信号槽有一个比较深入的理解。QMainWindow是 Qt 框架带来的一个预定义好的主窗口类。所谓主窗口,就是一个普通意义上的应用程序(不是指游戏之类的那种)最顶层

2016-06-18 10:14:10 791

原创 如何成为一个C++高级程序员

C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在 C++ 的使用范围比以前已经少了很多,java、C#、python 等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器。  现在学习 java、C#等语言的人数远远高于C++,主要

2016-05-04 20:54:01 391 1

原创 Linux Socket编程

我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:1、网络中进程之间如何通信?2、Socket是什么?3、socket的

2016-04-11 15:50:08 1499 2

原创 使用fio测试磁盘I/O性能

简介: fio最初是用来节省为特定负载写专门测试程序,或是进行性能测试,或是找到和重现bug的时间。写这么一个测试应用是非常浪费时间的。因此需要一个工具来模拟给定的io负载,而不用重复的写一个又一个的特定的测试程序。但是test负载很难定义。因为可能会产生很多进程或线程,他们每一个都用他们自己的方式产生io。fio需要足够灵活得来模拟这些case。 fio用法:fio分顺序读,随机读,顺序写,随

2016-04-08 14:00:01 1476 2

原创 用户空间驱动

一个第一次涉及内核问题的 Unix 程序员, 可能会紧张写一个模块. 编写一个用户程序来 直接读写设备端口可能容易些. 确实, 有几个论据倾向于用户空间编程, 有时编写一个所谓的用户空间设备驱动对比钻研 内核是一个明智的选择. 在本节, 我们讨论几个理由, 为什么你可能在用户空间编写驱动. 本书是关于内核空间驱动的, 但是, 所以我们不超越这个介绍性的讨论. 用户空间驱动的好处在于: •

2016-04-07 14:56:34 2488 9

原创 驱动程序的角色

作为一个程序员, 你能够对你的驱动作出你自己的选择, 并且在所需的编程时间和结果的 灵活性之间, 选择一个可接受的平衡. 尽管说一个驱动是”灵活”的, 听起来有些奇怪, 但 是我们喜欢这个字眼, 因为它强调了一个驱动程序的角色是提供机制, 而不是策略. 机制和策略的区分是其中一个在 Unix 设计背后的最好观念. 大部分的编程问题其实可以 划分为 2 部分:” 提供什么能力”(机制) 和 “

2016-04-06 16:58:15 404 3

原创 第 1 章 设备驱动简介

以 Linux 为代表的自由操作系统的很多优点之一, 是它们的内部是开放给所有人看的. 操作系统, 曾 经是一个隐藏的神秘的地方, 它的代码只局限于少数的程序员, 现在已准备好让任何具备必要技能的人 来检查, 理解以及修改. Linux 已经帮助使操作系统民主化. Linux 内核保留有大量的复杂的代码, 但 是, 那些想要成为内核 hacker 的人需要一个入口点, 这样他们可以进入代码中,

2016-04-06 16:43:36 417

转载 代码触发clistctrl控件的NM_CLICK事件

首先,这是个比较简单的功能,也就是实现CListCtrl控件可以处理完当前行后自动换到下一行而且自已选中,思路很简单,先给CListCtrl控件添加个NM_CLICK事件响应函数,手动或者自动都行。然后用代码选中需要显示的行,代码如下: m_List.SetFocus() m_List.SetItemState(nItem,LVIS_SELECTED|LVIS_FOCUSED, LVIS_SEL

2016-03-18 17:38:07 5533

原创 this指针和m_hWnd的区别

m_hWnd① m_hWnd这个成员变量,最早是定义在类CWnd中,而且是类CWnd的第一个数据成员,先看一下MSDN的解析: The handle of the Windows window attached to this CWnd. The m_hWnd data member is a public variable of type HWND. 由此可知,它是窗口类的一个句柄,凡是从CW

2016-03-17 16:14:52 1804

原创 Invalidate()mfc函数使用,摘录自csdn以为网友回答。

Invalidate()是强制系统进行重画,但是不一定就马上进行重画。因为Invalidate()只是通知系统,此 时的窗口已经变为无效。强制系统调用WM_PAINT,而这个消息只是Post就是将该消息放入消息队列。当执行到WM_PAINT消息时才会对敞口进行重绘; UpdateWindow只向窗体发送WM_PAINT消息,在发送之前判断GetUpdateRect(hWnd,NULL,TRUE)看

2016-03-17 10:35:45 698

原创 C++多态的实现及原理详细解析

C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数 1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 2. 存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对

2016-03-16 10:19:52 572 2

原创 C++中this指针的用法及介绍

this指针只能在一个类的成员函数中调用,它表示当前对象的地址。下面是一个例子: void Date::setMonth( int mn ) { month = mn; // 这三句是等价的 this->month = mn; (*this).month = mn; } this只能在成员函数中使用。 全局函数,静态函数都不能使用this。

2016-03-15 17:07:11 480 7

原创 查看c++类对象地址

#include <iostream>using namespace std;class Point{public: Point(int a,int b) { x=a; y=b;}//{}//:x(a),y(b){}void MovePoint( int a, int b){ x+=a; y+=b;this->x+=a;cout<<"this="<<this<<endl;}void

2016-03-15 14:22:37 1117 2

原创 c++构造函数

#include <iostream>using namespace std;class Point{ int x,y;public: ***Point(int a,int b){}//:x(a),y(b){}// { x=a; y=b;}***void MovePoint( int a, int b){ x+=a; y+=b;this->x+=a;cout<<"this="

2016-03-15 14:13:25 376 2

原创 文章标题

c++学习C++是一门面向对象的编程语言,理解C++,首先要理解类与对象这两个概念。 C++中的类可以看做C语言中结构体(Struct)的升级版。结构体是一种构造数据类型,可以包含若干成员(变量),每个成员的数据类型可以不一样;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。例如:#include <stdio.h>int main(){ // 定义结构体 Student

2016-03-05 20:27:50 313

翻译 C语言实现的猜拳游戏(剪子锤子布),让你与电脑对决

#include <stdio.h> #include <stdlib.h>#include <time.h>int main(){ char gamer; // 玩家出拳 int computer; // 电脑出拳 int result; // 比赛结果 // 为了避免玩一次游戏就退出程序,可以将代码放在循环中 while (1){

2016-01-13 22:51:57 1357 2

翻译 c语言学习

c语言

2016-01-13 22:40:12 500

原创 nvme理解

这几日再看nvme的资料,感觉茫然无序,这是近几年出来的东西,比较新在网上找不到相关介绍说明,所以只能自己慢慢啃了。一下把自己的理解大概讲讲,有不正之处请大家及时指出,好及时改过。nvme走的是pcie的协议,有了底层协议保证,我们才能对nvme去进行code。nvme本身的规范特别多,基本的就是他与主机通信的管理采用的是队列这种数据结构,用一个环形的队列,管理各种命令,而命令分为管理命令,每个

2016-01-08 22:27:15 2792

原创 qt QApplication类

详细描述QApplication类管理图形用户界面应用程序的控制流和主要设置。它包含主事件循环,在其中来自窗口系统和其它资源的所有事件被处理和调度。它也处理应用程序的初始化和结束,并且提供对话管理。它也处理绝大多数系统范围和应用程序范围的设置。对于任何一个使用Qt的图形用户界面应用程序,都正好存在一个QApplication对象,而不论这个应用程序在同一时间内是不是有0、1、2或更多个

2015-02-23 18:43:14 444 1

arm mini2440 开大打印机

很基础的东西,大家一定要看哈,有良好的编程风格

2014-09-27

空空如也

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

TA关注的人

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