自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

转载 HTTP 协议详解

当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HT

2014-08-27 12:05:27 711

转载 嵌入式linux下操作GPIO

在嵌入式设备中对GPIO的操作是最基本的操作。一般的做法是写一个单独驱动程序,网上大多数的例子都是这样的。其实linux下面有一个通用的GPIO操作接口,那就是我要介绍的 “/sys/class/gpio” 方式。首先,看看系统中有没有“/sys/class/gpio”这个文件夹。如果没有请在编译内核的时候加入   Device Drivers  —>  GPIO Support  —> 

2014-08-21 16:27:28 2911 1

原创 详解stdin,stdout,stderr

我们在写C程序是老是

2014-08-21 11:25:16 16223 1

转载 libevent源码解读(一)-- __attribute__认识

__attribute__详解 2009-07-29 17:15:24|  分类:嵌入式相关工具 |  标签:|举报|字号大中小订阅 __attribute__详解 GNU C的一大特色就是__attribute__机制。__attribute__可以设置函数属性(Function  Attribute)、变量属性(V

2014-08-05 11:53:57 850

原创 libevent源码解读(一)--总体阅读

我学习新东西的方法是对新东西有个大概的

2014-07-30 12:01:50 2324

原创 学习开源从libevent开始--前言

现在的我已经不是个

2014-07-29 12:00:15 876 1

原创 linux下安装非标准库为写程序

最近一直在琢磨怎么在linux下装开源库,像openCV,ffmpeg等等!这么好的开源库,想基于这些做些开发,可是当我们使用的时候就出现了各种问题。编译时什么头文件没包含进来,什么库没找到啦!等等,这些问题让你觉得很苦恼,也是阻止你前进的障碍。我花了好久才把这些库文件装起来。下面开始讲讲我的经验吧,以后不管什么库就可以装了。    要想会装任何库,就必须懂得原理!    库有标准库和飞标

2013-03-16 14:20:19 1235

原创 linux下文件编程

对文件操作有两种方式: A、系统调用方式,这个是基于具体的操作系统 B、调用C库函数方式下面具体讲解这两种方式,以及用到的相关的函数;A:系统调用(系统函数linux为例)综合实例,用系统函数编程实现文件的拷贝:#include #include #include #include #include #define MAX_SIZE 1024void

2013-02-08 20:51:50 3657

原创 VMware 虚拟机安装 Mac OS X Mountain Lion 苹果系统(vm9.0和Mac OS10.7)

本文是转自vmware虚拟机安装Mac os苹果桌面操作系统 Mac OS X Mountain Lion(版本号为 Mac OS X v10.8)已于今年 7 月 21 日通过 Mac App Store 发布。未能上手 MacBook / iMac 的用户亦可通过一定的方法在普通电脑上安装 Mac OS X 并获得极佳的体验。  本文将详细介绍如何在 VMware

2013-02-03 20:12:00 33888 2

转载 实例讲解虚拟机3种网络模式(桥接、nat、Host-only)

前言很多人安装虚拟机的时候,经常遇到不能上网的问题,而vmware有三种网络模式,对初学者来说也比较眼花聊乱,今天我就来基于虚拟机3种网络模式,帮大家普及下虚拟机上网的背景知识。(博文原创自http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646007.html)虚拟机网络模式无论是vmware,virtual box,vir

2013-02-03 14:49:43 2059 1

转载 malloc与realloc的区别

ANSI C说明了三个用于存储空间动态分配的函数(1) malloc 分配指定字节数的存储区。此存储区中的初始值不确定(2) calloc 为指定长度的对象,分配能容纳其指定个数的存储空间。该空间中的每一位(bit)都初始化为0(3) realloc 更改以前分配区的长度(增加或减少)。当增加长度时,可能需将以前分配区的内容移到另一个足够大的区域,而新增区域内的初始值则不确定.

2013-01-16 18:16:42 8031 1

转载 指针函数与函数指针的区别

一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针     类型标识符    *函数名(参数表)      int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函

2013-01-15 23:48:35 638

原创 C++(二)内置类型

C++ 定义了一组表示整数、浮点数、单个字符和布尔值的算术类型,另外还定义了一种称为 void 的特殊类型。void 类型没有对应的值,仅用在有限的一些情况下,通常用作无返回值函数的返回类型。算术类型的存储空间依机器而定。这里的存储空间是指用来表示该类型的位(bit)数。C++标准规定了每个算术类型的最小存储空间,但它并不阻止编译器使用更大的存储空间。事实上,对于int 类型,几乎所有的编译器使用

2013-01-05 06:31:34 511

原创 C++(-)命名规则

众所周知,每一门语言都有自己的命名规范和编码风格,形成这样的准则后,不仅给程序带来可读性,也为日后自己和他人维护带来不少方便,更重要的是这是一种态度。这里我结合网络上的资料整理了一下C++的命名规范。   一、 先说明一下命名规范的整体原则:同一性在编写一个子模块或派生类的时候,要遵循其基类或整体模块的命名风格,保持命名风格在整个模块中的同一性。

2013-01-02 20:31:37 620

原创 重温C++前言

大学已经过了一半,回顾自己在大学里学的知识,用一句成语来概括,杂乱无章。我对我自己在大学的要求是,要尽量大的扩充自己的知识面,对于这一点,我每天都在努力着,但是与之对应的一个问题出现了,没有精通一门技术。我是学软件工程的,从以前对电脑的一无所知到现在的略有所知,这也是我花了两年的时间才敢有此感慨。回忆以前,过分的追求应用层学习带来的快感,像自己学习了好多门语言,直到大二我就自己学习完了,C,C++

2013-01-02 19:59:21 892

原创 配置Apache将自己的电脑做服务器使局域网内的电脑访问自己的主机

很多的朋友都想把自己的电脑打造为服务器使别人能够访问。比如说你自己写了一网站,只能自己通过localhost访问或127.0.0.1访问。但是怎么让别人的电脑也能访问呢?来看看自己写的网站。现在我来讲讲怎么让局域网内的主机来访问你的主机。首先我们要安装Apache,这个大家都知道吧!Apache是世界上公认的比较好的WEB服务器软件。我们先下载Apache然后安装起来。安装过程傻瓜式的,很轻松

2012-12-21 19:52:52 49419 7

原创 QTcpSocket的连续发送数据和连续接收数据

关于这个问题折腾了我好久,以前做些小练习的时候,用QTcpSocket的write()一数据,然后接收方只要emit一个readyread()信号然后就用QTcpSocket的read()去读。本以为只要发送方write一次,接收方就会响应readyRead信号。其实根本就不是这样的,readyRead不会知道发送方调用了几个write,它只负责在有数据到达时触发,等你真正接收时,或许已经能够收到

2012-12-17 10:57:58 22534 4

原创 QT 进程间通信之古老的方法(内存共享)

Qt提供了一种安全的共享内存的实现QSharedMemory,以便在多线程和多进程编程中安全的使用。比如说QQ的聊天的客户端,这里有个个性头象,当点击QQ音乐播放器的时候,启动QQ音乐播放器(启动一QQ音乐播放器的进程)这时QQ音乐播放器里也有一个个性头像,这两者间的头像一样,现用共享内存的方法实现。    先说下实现共享内存的步骤,然后用一具体的实例说明。向共享内存中提供数据的一方:

2012-12-14 21:57:53 12748 3

原创 QDataStream传递自定义的数据类型

QT自带的QDataStream只能传递它自己要求的数据类型。但是我们可以自己重载QDataStream& operator>();mydatastream.h#ifndef MYDATASTREAM_H#define MYDATASTREAM_H#include struct UserInfor{ QString id;

2012-12-08 16:33:24 7401 2

原创 Ubuntu下解决Gedit 打开文本文件出现乱码

用gedit打开中文文本文件时总是出现中文乱码,解决如下。在终端输入: gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']"gsettings set org.gnom

2012-11-12 18:51:22 684

原创 ubuntu12.04下配置linux开发环境

对于Linux操作系统的初学者来说,在Ubuntu下建立嵌入式初级开发环境可不是一件简单的事情。别急,只要你读了接下来的这篇文章,搭建开发环境便不会是一件困难的事情了。主机:X86+Ubuntu 12.04,联网一. 下载并安装交叉编译器:我用的编译器是arm-linux-gcc2.95.3,只要解压一下就OK。(由于我的开发板是S3C2410,linux内核比较老,用的是

2012-11-04 21:25:13 793

转载 Qt容器类介绍和使用

引言Qt中提供了一系列的基于模板的容器类,这些类被用来存储指定类型的元素。例如,你需要一个可变长的QString的数组,你可以使用QVector, 相对于STL容器,Qt中这些容器类都是轻量级的,更安全,更容易使用,他们都是可重入的,更优化的性能,更低的内存消耗,最小的代码膨胀。你可以通过两种方式遍历容器中的元素,一种就是Java风格的,这种方式的迭代器易于使用,提供了比较上层的功能,另外一种

2012-11-03 22:19:12 1610

转载 迭代器

迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。  迭代器提供一些基本操作符:*、++、==、!=、=。这些操作和C/C++“操作array元素”时的

2012-11-03 21:58:29 389

转载 Qt中的容器类

QList是最常用的容器类,他存储给定类型的数据类型T的一列直,,可以在列表中追加QList::append();and QList::preppend();and QList::insert()..他所维护的是一个一指针数组,该数组存储的指针指向存储列表项的直,因此可以采用下标进行快速访问。QList list;string str="i am turing ,welcome t

2012-11-03 21:49:34 826

原创 QHash 和QMap的区别

本文介绍的是Qt QHash 和QMap的区别,关于容器类可以查阅更多的资料,首先我们先把QHash和QMap区分开来。内容如下。QMap提供了一个从类项为key的键到类项为T的直的映射,通常所存储的数据类型是一个键对应一个直,并且按照Key的次序存储数据,这个类也支持一键多值的情况,用类QMultiMapQHash具有和QMap几乎完全一样的APi,此类维护这一张哈希表,表的大小和数

2012-11-03 21:39:03 8276 3

原创 Qt中的QMap

QT QMap介绍与使用本文介绍的是QMap介绍与使用,值得一提的问题是QMap的值和键是一对一对的,必须要一对一对的插入。AD:Qt中的QMap介绍与使用,在坛子里逛了一圈,发现在使用QMap中,出现过很多的问题,Map是一个很有用的数据结构。它以“键-值”的形式保存数据。在使用的时候,通过提供字符标示(键)即可得到想要的数据。这个“数据”即可以是一个字符串,也可以是任意对象

2012-11-03 21:25:28 2501

转载 Explicit Constructors(显式构造函数)

Explicit Constructors(显式构造函数)收藏 按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等

2012-10-22 08:32:54 386

转载 MediaPlayer与SoundPool的区别

之前只知道android中可以用mediaplayer播放音乐,原来今天才发现 可以用soundpool,用soundpool可以播一些短的反应速度要求高的声音, 比如游戏中的爆破声,而mediaplayer适合播放长点的。 1. SoundPool载入音乐文件使用了独立的线程,不会阻塞UI主线程的操作。但是这里如果音效文件过大没有载入完成,我们调用play方法时可能产生严 重的后果,

2012-05-16 00:08:59 915

转载 drawRect的解释

前两天在博客发了在例子 android Canvas类介绍   建议大家 点进去 看一看 不然下边没办法 继续啊。 我还是把这个例子的代码贴出来 大家一起看看吧。Java代码  package com.yarin.android.Examples_05_04;    import android.content.Context;  import android.graphi

2012-05-10 22:41:23 5101

转载 Canvas的应用

当我们调整好画笔之后,现在需要绘制到画布上,这就得用Canvas类了。在Android中既然把Canvas当做画布,那么就可以在画布上绘制我们想要的任何东西。除了在画布上绘制之外,还需要设置一些关于画布的属性,比如,画布的颜色、尺寸等。下面来分析Android中Canvas有哪些功能,Canvas提供了如下一些方法:    Canvas(): 创建一个空的画布,可以使用setBitmap()方

2012-05-10 22:40:06 606

转载 要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法(没有全部列

要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法(没有全部列出,大家可以查看官方文档)如下:  setAntiAlias: 设置画笔的锯齿效果。   setColor: 设置画笔颜色   setARGB:  设置画笔的a,r,p,g值。   s

2012-05-10 22:37:35 1081

转载 贪吃蛇游戏

贪吃蛇是一款足够经典的游戏。它的经典,在于用户操作的简单,在于技术实现的简介,在于他的经久不衰。这里的贪吃蛇的android实现,是SDK Samples中的开源例程。可能各位都有看过~界面如下图啦~作为一个刚入门或者还没入门的新手,着实花了我一些力气来理解这段代码。对于各种不懂的地方,慢慢查询资料,对于新的方法,通过修改代码尝试效果。到现在终于能算个一知半解。在代码中,对

2012-05-10 00:03:15 959

转载 Android自定义View研究(五)--View的大小

说了这么多,那View的大小是多少呢?这小节我就研究下View的大小。通过LogCat来研究View的大小是怎样确定的。好了,直接切入正题吧.一、        在Activity中直接new HelloView时View的大小。View的大小获取可以用其中的两种方法获取:    this.getHeight():获取View的高this.getWidth():获取View的宽

2012-05-04 23:48:08 397

转载 Android自定义View研究(一) -- 一个小Demo

Android中继承View(一) -- 一个小Demo序:总想写下点东西出来,但是总是没有时间,不是业务忙就是又有新的研究项目,最近有点时间,写点以前一直想写有一直没写的东西,供大家参考,但是终归是一家之言,仅供参考。本人的每次讲解都会提供源代码下载,并且会最近会一直更新还请大家多多关注,有不对的地方欢迎指教。好了,不说题外话了,咱们开始研究。 一、         概述 对

2012-05-04 23:45:53 518

转载 Android自定义View研究(二) -- 绘图的基本知识

既然使用onDraw可以绘制为蓝色背景,那我们是不是可以干一些坏事了,哈哈。。。。。       不过干坏事之前要记得先学习学习graphics里面的一些知识。 一、基础预备知识1、Canvas--画板              Canvas是一个大大的画板,这个画板有多大,就看Android系统能支持多大的Canvas了,以后慢慢就会体会到这个Canvas到底有多大,不过原理

2012-05-04 23:45:01 459

转载 Android自定义View研究(三) -- 获得Bitmap的三种方法

是不是开始摩拳擦掌了,哈哈,有感觉了吧,有感觉了就加油,开始下一步学习,一步一步始终会学到东西,这章不解释,上面有完整注释 一、        使用BitmapFactory解析图片      // --> 使用BitmapFactory解析图片           publicvoid myUseBitmapFactory(Canvas canvas){

2012-05-04 23:44:14 392

转载 Android自定义View研究(四) -- 在XML中定义View

如果在一直使用SetContentView(new HellwView(this)感觉总是少了一点东西,少了什么了,失去了Android中使用XML定义组件的方便性性,这种感觉让人很不爽,呵呵,在这节里我们会看到一个自定义View报错的解决方法,让我们来看看在XML中定义View吧 一、在XML中定义View的一个小错误 我们试着直接将错误的那个例子写出来将上一讲的View例子

2012-05-04 23:42:19 366

转载 Android自定义View研究(六)--View中的原点坐标相关问题

我们自定义了View,但是有没想过一个问题,就是View中的(0,0)坐标,也就是原点坐标在哪??我们是不是有时候很困惑,接下来我们就来研究View中的原点坐标相关的问题。 一、new HelloView时View的原点我们通过从View中绘制一条从原点到右下角的线来看看这个View中的原点和这个View的宽和高。这里我们从onDraw(Canvas canvas)中绘制,下面给出

2012-05-04 23:34:23 590

转载 Android自定义View研究(七)--XML中布局自定义View时View触摸原点问题

在XML中布局时,我们自定义的View的触摸原点在哪??这又是一个问题啊,学习的过程就是不断发现问题,解决问题的过程。呵呵,相信大家都是深有体会吧,这次我们研究View的触摸原点问题。下面是核心代码:     /**     *定义手势识别     **/    GestureDetector mGestureDetector;

2012-05-04 23:32:44 501

转载 Android自定义View研究(八)--自定义View总结

关于自定义View就讲到这了,自定义View可以说有很大的用途,在这里我们小小的总结一下,哈哈,也算是一个笔记,方便以后学习。 一、使用自定义View的两种基本方法 1. setContentView(new HelloView(this));这种方法是在Activity中直接使用View。优点:这样布局的话可以很大程度上的自己控制View,绘图灵活,可以很好的控制View

2012-05-04 23:30:19 323

FLASH游戏开发实例

flash 小游戏开发 五子连珠 由两位玩家玩,一个是电脑,使用黑棋表示

2011-12-29

空空如也

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

TA关注的人

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