自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (6)
  • 收藏
  • 关注

原创 GTK简单画图程序

最近做了个简单的画图程序,改自gtk example中的scribble-simple的程序,原来的例子是将报出来的点为基准然后向周围扩散了一个区域。现在是将报出来的点画成线,/* GTK - The GIMP Toolkit* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald**

2012-01-14 16:42:58 5446

原创 GTK编译与调试

说明:文档里提到的work是在跟目录下的:/work/work一: gtk debug 版本编译:假定你把gtk+-2.20.0库放在/work/gtk+-2.20.0/目录下面。1. root@ubuntu:/work/gtk+-2.20.0/# ./configure --enable-debug=yes –without-libtiff        note:如

2011-12-23 10:22:21 4551 2

原创 ubuntu中如何去除鼠标

当把ubuntu移植到ARM板子上之后,用的是触摸屏,而且当使用Eink屏幕的时候,鼠标的移动会影响显示效果,所以最好将鼠标去除掉。下面是去除的步骤:首先拿到xcursor-transparent-theme-0.1.1.gz package这个主题包,去google上可以下载到得,提供一个下载连接:http://aur.archlinux.org/packages.php?ID=

2011-12-19 11:18:46 2474

转载 Android uevent

from: http://www.cnblogs.com/qclzdh/archive/2011/06/13/2080166.htmlAndroid很多事件都是通过uevent跟kernel来异步通信的。其中类UEventObserver是核心。    UEven

2011-10-14 16:42:27 1968

原创 Android Battery 在framework相关介绍

前言:本文主要讲解了battery中如何读取sys中的一些电池相关的数据,然后发送给上层的内容。也会对某些数据节点进行拓展讲解。 1.      BatteryService.java(frameworks\base\services\java\com\android\s

2011-10-10 15:00:49 6504

转载 Android JNI 使用的数据结构JNINativeMethod详解

转自: http://hi.baidu.com/zhlg_hzh/blog/item/f0d782081f2f45d963d986f5.htmlAndoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是An

2011-08-26 13:37:51 1079

原创 刚下载的Android 内核编译出错解决方法

刚下载2.3代码在ubuntu中编译出错。错误如下:build/core/main.mk:77: You are attempting to build on a 32-bit system.Only 64-bit build environments a

2011-08-19 16:41:34 1134

转载 SurfaceFlinger启动过程分析(四)

文章出处:http://danielwood.cublog.cn作者:Daniel Wood在加载完framebuffer和gralloc模块之后,我们来看FramebufferNativeWindow构造函数中的代码:buffers[

2011-08-19 14:13:38 2628

转载 SurfaceFlinger启动过程分析(三)

文章出处:http://danielwood.cublog.cn作者:Daniel Wood内存映射对于framebuffer来说非常重要,因为通常用户是不能直接操作物理地址空间的(也就是物理内存?),然而通过mmap映射之后,将framebuffer的物理地址空

2011-08-19 14:10:38 3851

转载 SurfaceFlinger启动过程分析(二)

文章出处:http://danielwood.cublog.cn作者:Daniel Wood上节说到SurfaceFlinger的readyToRun函数。先来看看它的代码:(Google Android 2.2)SurfaceFlinger.

2011-08-19 14:00:05 2406

转载 SurfaceFlinger启动过程分析(一)

文章出处:http://danielwood.cublog.cn作者:Daniel WoodSurfaceFlinger的启动过程还是从Zygote说起。Zygote起来后会调用SystemServer.java[frameworks/base/s

2011-08-19 13:54:25 4035

转载 Android调试之LOG和LOGCAT详解

转自: http://jojol-zhou.iteye.com/blog/696567Android 的调试信息分为五类:  VERBOSE 类型调试信息,verbose啰嗦的意思  DEBUG 类型调试信息, debug调试信息  INFO  类

2011-08-18 16:12:55 1753

转载 Android LogCat使用详解

转自: http://jojol-zhou.iteye.com/blog/696647Android的Logcat用于显示系统的调试信息,可在分别以下几个地方查看和调用logcat:1.eclipse的Debug模式或DDMS模式下的会有一个Logcat窗

2011-08-18 16:11:19 1527 1

转载 如何在android native编程中使用logCat

转自:http://archive.cnblogs.com/a/1584120/Android NDK发布后,java+C的编程方式成为android上性能编程的首选。但在C中调试困难,因此能使用logcat成为必须的要求。关于在Native代码中使用lo

2011-08-18 16:00:55 2545

转载 在android 输出log 信息 用于调试

转自:http://blog.csdn.net/fh400/article/details/5675285要想在 jni native 代码中看打印信息,printf 是不行的,需使用__android_log_print,如下所示。__android_log

2011-08-18 15:54:08 3260

转载 Android 局部刷新原理

转自:http://www.phpfans.net/article/htmls/201005/Mjg0OTQz.html需求:       有的LCD是支持局部刷新的,所谓局部刷新也就是说,如果UI层有更新,驱动才会去刷新framebuffer的区域,并且只需

2011-08-16 14:15:11 9999

转载 Android智能指针SP WP使用方法介绍

转自:http://developer.51cto.com/art/201001/180894.htmAndroid手机操作系统既然是开源的操作系统。那么在具体的文件夹中就会存放着各种相关功能的开源代码。我们在使用的时候可以根据这些源代码进行相应的修改就能轻松的完

2011-08-15 15:50:55 14393 2

转载 Surfacefinger——threadLoop主循环 (zt)

查看文章  转载自 http://blog.sina.com.cn/s/blog_6e0c17b90100pm5f.htmlSurfacefinger——threadLoop主循环2010-12-16 17:56Surfacefinge

2011-08-04 10:01:46 4495

转载 Android SurfaceFlinger process 流程分析

根据前面的介绍,surfaceflinger作为一个server process,上层的应用程序(作为client)通过Binder方式与其进行通信。Surfaceflinger作为一个thread,这里把它分为3个部分,如下:1、 Thread本身处理部分,包括初始化以及t

2011-08-03 11:04:09 2970

转载 详解Android Surface系统

转自网址:http://mobile.51cto.com/android-259922.htm-------------------------------------------------------------------------------------------

2011-08-02 10:33:07 1935

转载 Android 图形系统SurfaceFlinger

http://hi.baidu.com/kikicat0_0/blog/item/0c8ff92c5ecaa23d359bf7a6.html本文试图讲述Android图形系统的底层实现。Android图形系统底层实现非常复杂,文档较少,没有使用比较流行的图形组建如X window

2011-07-27 15:26:08 2042

转载 多重继承与虚继承

转自:http://www.cublog.cn/u/18517/showart_252162.html多重继承    在多重继承中,基类的构造函数的调用次序既不受派生类构造函数初始化列表中出现的基类构造函数的影响,也不受基类在构造函数初始化列表中的出现次序的影响,它按照基类在类派

2011-07-07 13:50:13 1700

原创 虚函数(C++)

析构函数设置成虚函数正是体现了C++的多态性。当基类的指针指向子类时,析构的时候,如果析构函数不是虚函数的话,这样只会调用基类的析构函数。子类则不会被析构,这样就造成了内存泄露。如果定义成虚函数,那么则会先找到子类的析构函数,析构之后,再调用基类的析构函数。有

2011-07-04 17:29:31 760

原创 邮槽-简单的客户端服务器应用

<br /> 邮槽是一种单向的方法。也就是说只能由客户端来发送消息,可以有多个服务器来接受消息。并且次链接是广播型的,不安全,容易丢失。<br /> <br />但其优点就是容易实现,一般使用邮槽的话,都会在较短的时间内重复发送消息。所以这在一定情况下也弥补了包容易丢失的问题。比如写这样<br /> <br />一个应用。写一个每隔五分钟提醒一下公司的可乐售货机上还有多少,每五分钟会给所有的服务器报告一次。<br /> <br />开发邮槽客户机和服务器应用时,所有WIN32 API 函数(CreateFi

2011-05-16 22:08:00 1672

原创 静默安装 InstallShield

<br />Installshield 静默安装。<br /> <br />1. 首先录制自己的setup.iss.<br /> <br />用命令行cd到exe的安装目录,setup.exe /r<br /> <br />然后正常安装,按照你需要的进行选择。 然后在 c:/windows/ 产生 setup.iss(此为静默安装的脚本文件)<br /> <br /> <br />2. 然后将c:/windows/setup.iss拷贝到你所在的exe安装文件下。<br /> <br />用命令行打入 se

2011-05-16 14:07:00 4474 1

原创 命名管道--简单的客户服务器通信

<br /> <br />// Server.cpp#include <windows.h>#include <stdio.h>void main(void){ HANDLE PipeHandle; DWORD BytesRead; CHAR buffer[256]; if ( ( PipeHandle = CreateNamedPipe("////.//Pipe//Jim", PIPE_ACCESS_DUPLEX, PIPE_TYPE_BYTE | PIPE_READ

2011-05-15 18:04:00 1042

转载 函数指针数组的指针

<br />4.7.5函数指针数组的指针<br />看着这个标题没发狂吧?函数指针就够一般初学者折腾了,函数指针数组就更加麻烦,现在的函数指针数组指针就更难理解了。<br />其实,没这么复杂。前面详细讨论过数组指针的问题,这里的函数指针数组指针不就是一个指针嘛。只不过这个指针指向一个数组,这个数组里面存的都是指向函数的指针。仅此而已。<br />下面就定义一个简单的函数指针数组指针:<br />char *(*(*pf)[3])(char * p);<br />注意,这里的pf 和上一节的pf 就完全

2011-05-06 14:57:00 1037

转载 函数指针的使用

<br />4.7.2函数指针的使用4.7.2.1 函数指针使用的例子<br />上面我们定义了一个函数指针,但如何来使用它呢?先看如下例子:<br />#include<stdio.h><br />#include<string.h><br />char *fun(char * p1,char * p2)<br />{<br />int i = 0;<br />i =strcmp(p1,p2);<br />if (0 == i)<br />{<br />return p1;<br />}<

2011-05-06 14:56:00 1769

转载 函数指针数组

<br /> 函数指针数组<br />现在我们清楚表达式“char * (*pf)(char * p)”定义的是一个函数指针pf。既然pf 是一个指针,那就可以储存在一个数组里。把上式修改一下:<br />char *(*pf[3])(char * p);<br />这是定义一个函数指针数组。它是一个数组,数组名为pf,数组内存储了3 个指向函数的指针。这些指针指向一些返回值类型为指向字符的指针、参数为一个指向字符的指针的函数。这念起来似乎有点拗口。不过不要紧,关键是你明白这是一个指针数组,是数组。<b

2011-05-06 14:55:00 1293 1

转载 指针参数

<br />4.6.2.2 无法把指针变量本身传递给一个函数<br />这很像孙悟空拔下一根猴毛变成自己的样子去忽悠小妖怪。所以fun 函数实际运行时,用到的都是_p2 这个变量而非p2 本身。如此,我们看下面的例子:<br />voidGetMemory(char * p, int num)<br />{<br />p = (char*)malloc(num*sizeof(char));<br />}<br />intmain()<br />{<br />char *str =NULL;<br

2011-05-06 14:12:00 1942

转载 枚举类型的使用方法

1. 枚举的定义枚举类型定义的一般形式为: enum 枚举名{ 枚举值表 };在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。例如: 该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。2. 枚举变量的说明如同结构和联合一样,枚举变量也可用不同的方式说明,即先定义后说明,同时定义说明或直接说明。设有变量a,b,c被说明为上述的weekday,可采用下述任一种方式:enum weekday

2011-05-05 10:46:00 148437 6

原创 数据对齐与sizeof()

<br /> 面试题中 sizeof 的出现率还是很高的吧。常见的题,大家肯定也是知道答案的。但原因是否都了解呢?<br /> <br />下面就用VC 6来做一些这样的题。<br /> <br />void main(){ int a=6; char

2011-04-30 14:02:00 2167

转载 C++类中的静态成员变量和静态成员函数的作用

<br />数据成员可以分静态变量、非静态变量两种. <br />静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员. <br /><br />非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以通过实例化的类名进行访问..非静态成员的生存期决定于该类的生存期..而静态成

2011-04-21 16:27:00 1544

原创 QT 数据库操作(创建,插入。。)

<br />知道怎么操作数据库了,就会很快类推到相关的操作。只是开始不知道的时候,不知道从哪下手。GOOGLE 后也很少有人会贴代码让大家<br /> <br />去参考。下面就简单的贴下自己写的 创建和插入的操作方法。会写数据库的童鞋知道语法了 就知道怎么写了。。。<br /> <br />bool database::createDatabase(){ QSqlQuery query; // 此处请查询 query的相关操作 qDebug() << "Start to cre

2011-04-09 19:50:00 13973 1

原创 QT 数据库相关

应用程序很多情况下需要操作数据库。QT支持多种数据库,但是很多情况需要安装DLL驱动。这就有点麻烦,想当初想用MYSQL的结果就是因为驱动很难装,然后就使用了SQLITE。如果对数据库的要求不是很高的话,Sqlite应该可以满足需求了。下面就简单介绍下在QT中的sqlite相关操作。需要包含如下的数据库相关头文件:#include #include 下面是创建数据库的操作,写成 createConnection()bool database::createconnection(){

2011-04-06 12:54:00 5315 2

原创 QT QMessageBox

Qt 中的Messgage Box ,刚开始也是模仿人家来用。模仿模仿自己也就会用了,会了就分享:当然首先在头文件中要包 #includeQMessageBox常用的是三个,critical waring info,用法分别如下:QMessageBox::warning(this,tr("Warning"),tr("Please input city!"),QMessageBox::Yes); // 给出 WarningQMessageBox::critical(this,"Error","Ther

2011-03-30 16:29:00 7234

原创 QT 如何保存登陆的用户信息

使用QQ大家多知道需要一个账户来登陆,不止QQ啦,其实还有很多需要账户的。所以就需要将登陆用户的信息保存下来。此文使用的是申请new一个指针来保存登陆用户的信息,并设置成后续的的操作都能读到此登陆值。好了,直接上代码:先看头文件怎么写:#ifndef GLOBAL_H#define GLOBAL_H#include #include "Model/User.h" #include //#include "logindialog.h"class Global{public

2011-03-30 16:14:00 7788 2

原创 QT 信号与槽

QT的信号与槽是什么,大家可以方便的搜索到。或许用QT Designer 设计槽会方便一些,其实手动写出来或许会更好。下面就是自己自己手动设计的一个槽函数的例子。此处写的是类似QQ的登陆框。1.首先在头文件中定义槽函数。#ifndef LOGINDIALOG_H#define LOGINDIALOG_H#include namespace Ui { class LoginDialog;}class LoginDialog : public QDialog{ Q_O

2011-03-30 15:40:00 5621 2

原创 Installshield 如何修改目标文件夹的权限

利用 cacls 修改文件夹权限。网上有写个.BAT 然后调用的。我直接调用了 windows/system32/ cacls.exe.function ModifyDirPermission() STRING szMsgDir,szCmd, szCmdArgs; begin szMsgDir = TARGETDIR ^ "//MESSAGES"; szCmd = WINSYSDIR ^ "cmd.exe"; szCmdArgs = "/c cacls /"" + szMsgDir

2011-02-23 16:26:00 3455

转载 VS2008破解方法

 VS2008破解方法.     现在大多数下载的vs.net2008是90天试用版的,90天试用版的只是一个cd-key的问题,只要将这个改为正式的就ok了在网上搜索很多的方法,下面共享给大家:1.把Setup/setup.sdb文件中的[Product Key],由“T2CRQGDKBVW7KJR8C6CKXMW3D”修改为“PYHYPWXB3BB2CCMV9DX9VDY8T”2.在卸载试用版的地方,输入上面的key,然后更新,就可以成为正式版  操作步骤:控制面版>添加或删除程序>卸载vs.n

2010-09-30 10:58:00 743

设计模式c++描述

设计模式 design mode c++

2012-03-08

Android BatteryService学习文档

分析了framework中battery相关知识。

2011-10-10

Android_图形系统分析-surfaceFlinger流程

Android_图形系统分析-surfaceFlinger流程

2011-08-09

Android SurfaceFlinger详解

Android SurfaceFlinger详解,评论时候不要忘了,评论星级阿,要不然拿不回下载积分了,呵呵

2011-08-04

Ubuntu/Linux常用命令大全

Ubuntu/Linux常用命令大全,绝对超值

2011-08-03

Installshield2008破解DLL文件

破解Installshield2008的DLL文件,只需将下载的DLL文件拷贝到相应的目录下面。可以先在安装目录下查找文件,然后再拷贝

2010-09-30

空空如也

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

TA关注的人

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