自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(346)
  • 收藏
  • 关注

Linux Kernel 及 binder mmap实现

1. 简介 对于mmap在用户态通过函数以下函数进行调用:void*mmap(void*addr,size_tsize,intprot,intflags,intfd,longoffset) 然后进入系统调用。2. Kernel mmap实现1)然后进入系统调用,其系统调用号为:kernel/arch/arm/include/asm/un...

2012-12-22 16:28:00 347

Linux Debugfs文件系统介绍and 使用

author: jonathan本文档的CopyRight归jonathan所有,可自由转载,转载时请保持文档的完整性。/*---------------------------------------------------------------------------------------------------------------------*/什么是不常见的文...

2012-12-22 16:25:00 295

Linux中的File_operations结构体

file_operation就是把系统调用和驱动程序关联起来的关键数据结构。这个结构的每一个成员都对应着一个系统调用。读取file_operation中相应的函数指针,接着把控制权转交给函数,从而完成了Linux设备驱动程序的工作。 在系统内部,I/O设备的存取操作通过特定的入口点来进行,而这组特定的入口点恰恰是由设备驱动程序提供的。通常这组设备驱动程序接口是由结构file_opera...

2012-12-22 12:06:00 264

android的binder驱动 进程,线程,线程池

init函数binder_init1. create_singlethread_workqueue(“binder”)创建一个workqueue来做一些延迟工作。以前是静态创建的,2.2改为在init中创建。2. proc文件系统中建立目录binder和binder/proc。3. 注册binder驱动。4. /proc/binder下建立几个proc文件state, stat...

2012-12-21 17:47:00 486

eclipse自动生成注释

原文:http://www.blogjava.net/zdq5337/archive/2011/03/08/345932.html建立一个codetemplates.xml文件,内容为<?xml version="1.0" encoding="UTF-8"?><templates><template autoinsert="false" context=".

2012-12-10 10:02:00 90

决定走出第一步

学android很久了,但一直没做过一个完整的项目。

2012-12-08 21:05:00 120

java中数据在内存中的存储详解

java中数据在内存中的存储详解<wbr>1.<p style="margin:2px; padding-top:0px; padding-bottom:0px; float:left"><wbr></wbr></p><p style="margin-top:0px; margin-bottom:0px;

2012-12-08 02:01:00 197 1

Android开发之Java集合类性能分析

对于Android开发者来说深入了解Java的集合类很有必要主要是从Collection和Map接口衍生出来的,目前主要提供了List、Set和 Map这三大类的集合,今天就他们的子类在标准情况和多线程下的性能做简单的分析。  Collection接口主要有两种子类分别为List和Set,区别主要是List保存的对象可以重复,而Set不可以重复,而Map一般为key-value这样的对...

2012-12-06 15:08:00 82

程序员的八个级别

你是否被人问过这样一个经典的面试问题,“五年内你对自己有什么规划?”当被问到时,我的脑子里总会回放一段1984年《Twisted Sister》里的一个视频片段。我想让你告诉我说——不,这样更好,站起来,对着全班说–你今后打算干什么?你想当摇滚明星,这很自然!或者至少要成为一名明星级程序员。这种问题一般不会得到一个很严肃的回答——就像另外一个毫无新意且充...

2012-11-25 21:45:00 125

KBuild MakeFile介绍(转)

引自:http://blog.chinaunix.net/space.php?uid=21289517&do=blog&id=1828166Linux内核Makefile分类Kernel MakefileKernel Makefile位于Linux内核源代码的顶层目录,也叫 Top Makefile。它主要用于指定编译Linux Kernel目标文件(vmli...

2012-11-02 20:41:00 118

Kconfig语法规则

2.6内核的源码树目录下一般都会有两个文文:Kconfig和Makefile。分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调...

2012-11-02 20:34:00 140

Linux下的管道编程

*管道技术是Linux的一种基本的进程间通信技术。在本文中,我们将为读者介绍管道技术的模型,匿名管道和命名管道技术的定义和区别,以及这两种管道的创建方法。同时,阐述如何在应用程序和命令行中通过管道进行通信的详细方法。 一、管道技术模型管道技术是Linux操作系统中历来已久的一种进程间通信机制。所有的管道技术,无论是半双工的匿名管道,还是命名管道,它们都是利用FIFO排队模型来指挥进程间...

2012-11-01 23:39:00 104

obj-y,obj-m 区别

目标定义是Kbuild Makefile的主要部分,也是核心部分。主要是定义了要编 译的文件,所有的选项,以及到哪些子目录去执行递归操作。最简单的Kbuild makefile 只包含一行: 例子: obj-y += foo.o 该例子告诉Kbuild在这目录里,有一个名为foo.o的目标文件。foo.o将从foo.c 或foo.S文件编译得到。如果foo.o要编译成一模块,那就要...

2012-11-01 21:28:00 604

怎么在ubuntu 下adb识别新的手机

1) 在终端运行 lsusb会发现结果有会有如下类似记录:Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 004 Device 005: ID 1219:0...

2012-10-28 23:15:00 113

source Insight常用自定义命令和一些小技巧

在Source Insight中添加自定义功能的步骤如下:1.Source Insight中,Options->Custom Commands...->Add...,New Command name 随便写,我的是"Edit with Vim"2.Run中写入: "C:/Program Files/Vim/vim63/gvim.exe" --remote-silent +%...

2012-10-17 10:11:00 155

linux select函数学习

1. I/O多路转接如果我们想从多个文件描述符读或写数据,如果我们用以前学过的函数(read,write等)去处理可能会阻塞在一个文件描述符上,不能处理其他的文件描述符。那是因为我们以前学的I/O处理函数,都是阻塞的I/O处理函数,它们的特点是,如果缓冲区里有数据它们就会把数据写到文件中,如果缓存区没有数据他们就会等待(阻塞)直到有数据可读。这就造成了他们无法对多个文件描述符进行操...

2012-10-16 14:35:00 106

getopt和getopt_long系统调用解析命令行参详解

Linux下很多程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与其他程序或用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更有用。不过很多开发人员都将其宝贵的时间花在了编写自己的命令行解析器,却不使用 getopt(),而后者是一个专门设计来减轻命令行处理负担的库函数...

2012-10-16 13:58:00 94

arm-linux-gcc 常用参数讲解 gcc编译器使用方法

本文转载于:http://hi.baidu.com/lyhdq315/blog/item/e2db07c8c2e0f097c8176864.html我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为arm-linux-gcc。下面将arm-linux-gcc编译工具的一些常用命令参数介绍给大家。在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,...

2012-10-11 22:17:00 94

linux C宏定义

写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等。下面列举一些成熟软件中常用得宏定义。。。。。。1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。...

2012-10-11 17:48:00 297

exit与atexit

一、exit()函数 函数声明:void exit(int state); exit()函数用于在程序运行的过程中随时结束程序,exit的参数state是返回给操作系统,返回0表示程序正常结束,非0表示程序非正常结束。main函数结束时也会隐式地调用exit函数。exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关...

2012-10-11 16:25:00 101

使用tcgetattr函数与tcsetattr函数控制终端

摘要:《Linux编程技术详解》第6章的主要内容是设备文件,本小节讲的是使用tcgetattr函数与tcsetattr函数控制终端。标签:tcgetattr函数控制终端Windows系统LinuxUNIX系统Linux编程技术详解Oracle帮您准确洞察各个物流环节6.4.4 使用tcgetattr函数与tcsetattr函数控制终端为了便于...

2012-10-11 16:15:00 88

isatty(STDIN_FILENO)详解

关于函数 isatty( ) #include <unistd.h>int isatty(int filedes);返回值:若为终端设备则返回1(真),否则返回0(假)如下程序,isatty函数的实现只使用了一个终端专用的函数 tcgetattr (如果成功执行,它不改变任何东西),并取其返回值。#include <termios.h>int is...

2012-10-11 16:00:00 3105

uestc 1717 Journey

#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#include <queue>#include <set>#include <vector>

2012-07-14 18:45:00 64

水晶报表十二式-----PUSH模式详解

最近做数据分析要产生各种报表,于是采用了水晶报表,而其中PUSH模式是我们首选的方案。将过程分享给大家。 我们采用下面的几步使用Push模式执行水晶报表:  1. 设计一个DataSet  2. 创建一个.rpt文件同时将其指定给上一步建立的DataSet。  3. 在aspx页面中拖放一个CrystalReportViewer控件同时将其与前面的rpt文件建立联系。...

2012-07-14 17:16:00 191

python测试驱动开发

import unittestfrom main import Sampleclass SampleTest(unittest.TestCase): def setUp(self): print "create a new Sample" self._sample = Sample("b64e5843ca7db8199c405be565fa7f57")...

2012-07-14 16:05:00 121

Cocos2d-x学习笔记(4)- 触摸反馈

对于游戏来说,触摸事件是最重要的游戏方式,基本上所有的游戏都是基于触摸事件完成的,不过触摸事件也是游戏最基础的事件反馈。cocos2d-x基本上沿袭cocos2d的触摸事件处理方式,下面就简单介绍一下。 一般来说,每一个游戏场景都有一个或几个Layer组成,把场景分成Layer是为了当游戏的元素增多后方便游戏的管理,这样游戏的扩展性也很强,如果单独在一个Scene中处理整个游戏的元素就显得十分...

2012-07-14 15:54:00 117

SQL Prompt v5.3.0.3 破解

已经习惯用SQL Prompt很久了,记得最开始用的还是4.0版本,当时我的数据库版本还是sql2005.后来数据库升级到2008,SQL Prompt 被迫升级到5.0,升级过后破解是一个问题,搞了很久才破解。最近数据库升级到sql2012了以前的5.0也不能用了,下了一个SQL Prompt v5.3.0.3 版本的,这次我没有卸掉先前的版本,而是直接升级的。也就是说我没有SQL Prompt...

2012-07-14 15:42:00 254

Android ImageButton Selector例子

一般情况下,我们可以用ImageButton来显示一个Button按钮。然而,有些时候我们想按钮的状态发生变化,比如按下前是一个样子,按下后又是另一个样子,Android允许我们改变按钮的形象取决于不同的状态,如按钮是集中或按钮被按下。下面具体讲述如何实现:P.S This project is developed in Eclipse 3.7, and tested with Androi...

2012-07-14 15:35:00 142

JPA多表查询案例

JPA多表查询可以使用构造器的方式进行多表查询,以下为多表查询的案例。本案例中有A、B、C三个对象实体类,对象A、B通过属性imsi关联,对象B、C通过imsig关联;还有一个Abc类,它是一个用来多表查询时构造集合的普通类。以下为案例代码A类package com.jason.bean;import java.io.Serializable;...

2012-07-14 14:38:00 152

ZOJ2722Head-to-Head Match

#include<fstream>#include<iostream>#include<cmath>using namespace std;int main(){ //ifstream cin("acmilan.txt"); double i,n,count; while(cin>>n) { if(n==0) break;...

2012-07-14 14:22:00 82

ZOJ 2727List the Books

#include<fstream>#include<iostream>#include<vector>#include<algorithm>#include<string>using namespace std;struct Book{ string Name; int Year; int Price;};boo...

2012-07-14 14:13:00 100

ZOJ 2109 FatMouse' Trade

#include<fstream>#include<iostream>#include<vector>#include<algorithm>using namespace std;struct Mouse{ double J; double F; double a;};bool Comp(const Mouse &d1,...

2012-07-14 13:55:00 103

Android AlertDialog 对话框添加、属性

package gongzibai.co.cc;import android.app.Activity;import android.app.Dialog;import android.os.Bundle;public class ProgressBarActivity extendsActivity {/** Called when the activity is fir...

2012-07-14 13:49:00 114

Javascirpt的strict模式

一直以来,Javascript 松散灵活的语法饱受争议。 于是,ECMAScript 5.0 定义中引入了strict mode,使Javascript解释器可以用"严格"的语法来解析代码,以帮助开发人员发现错误。IE 10 开始支持strict mode。开启strict mode很简单,在代码的开头加入"use strict";这样很巧妙地兼容了那些不支持strict mode老的浏览...

2012-07-14 13:36:00 195

Lustre可靠性增强系统MTFS:第4篇 安装

4.1 硬件环境需求 除了硬件环境能被一定版本的Linux操作系统支持之外,MTFS对硬件环境没有其他的特殊需求。4.2 软件环境需求 对使用环境上,MTFS具有一下要求:MTFS支持有限的linux内核版本。MTFS支持的安装方式包括源码安装和rpm包安装。如需通过rpm包安装,则需要安装有相应的rpm包管理工具。为了使用MTFS的工具,需要包含readline库。hfs...

2012-07-14 13:32:00 101

ZOJ 1205 Martian Addition

#include<fstream>#include<iostream>#include<vector>#include<string>#include<algorithm>using namespace std;int main(){ //ifstream cin("acmilan.txt"); string sa,sb...

2012-07-14 13:28:00 83

Android 几种 PROGRESSBAR的属性(进度条)

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent&quo

2012-07-14 12:55:00 110

JPA复合主键案例

AirLine实体类package com.jason.bean;import java.io.Serializable;import javax.persistence.Column;import javax.persistence.EmbeddedId;import javax.persistence.Entity;@Entitypublic class AirLine...

2012-07-14 12:24:00 103

Hibernate读书笔记-----乐观锁与悲观锁

在使用Hibernate的过程我们会遇到多个人对同一数据同时进行修改,这个时候就会发生脏数据,造成数据的不一致性。为了避免更新数据的丢失,Hibernate采用锁机制。 Hibernate提供了两种锁机制:悲观锁和乐观锁。 悲观锁:在数据有加载的时候就给其进行加锁,直到该锁被释放掉,其他用户才可以进行修改。 乐观锁:在对数据进行修改的时候,对数据采用版本号或者时间戳等方式来比...

2012-07-14 11:39:00 127

android自定义listview实现圆角

在项目中我们会经常遇到这种圆角效果,因为直角的看起来确实不那么雅观,可能大家会想到用图片实现,试想上中下要分别做三张图片,这样既会是自己的项目增大也会增加内存使用量,所以使用shape来实现不失为一种更好的实现方式。在这里先看一下shape的使用: <?xml version="1.0" encoding="utf-8"?><shape xmlns:android="ht...

2012-07-14 10:56:00 75

空空如也

空空如也

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

TA关注的人

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