- 博客(48)
- 资源 (3)
- 收藏
- 关注
原创 关于android手机
2007年年底,android源码开始发布,2008年,G1手机上市。至今,android已经从1.0版本发展到2.0版本。中间经历了1.1、1.5、1.6版本。android的出现的确让很多人兴奋,给个人爱好者新的、强大的体验,给开发者先进的设计思路和优秀的代码,给手机开发商发展智能手机提供了很好的机会,当然,也给中国移动的Ophone提供了源代码。由于平台的更改,我从2009.3月底开
2009-12-05 23:48:00 1343
原创 android浏览器和iPhone浏览器
android和iPhone的浏览都是使用webkit内核。webkit内核是苹果最先搞的,后来苹果把它开源了,不过苹果自己还继续在发展webkit。虽然android和iPhone浏览器使用相同的内核(版本等方面有差异),但它们的性能和操作体验即相差很大。一、两者均具有的优点:对w3c网页标准支持很好,解析、渲染速度快二、差异:1、webkit内核
2009-11-21 20:14:00 4522 2
原创 android开发环境建立以及开发工具的使用--怎样使用eclipse来开发android源码
/**版本:1.0日期:2009-04-01作者:HKjinzhao备注:*/android提供的工具链和开发工具比较完善,因此它的开发环境的搭建比较简单,相信许多朋友都已经搭建好环境,并编写了HelloActivity入门程序了。这里先看几个问题:1、android的文件系统结构是怎样的,我们安装的程序放在那里?编译android源码之后,在out/target/product/generic一
2009-04-02 16:12:00 9106 2
原创 怎样使用eclipse来开发android源码
/**版本:1.0日期:2009-03-30作者:HKjinzhao备注:*/用eclipse + ADT作为android开发工具,可以说是很方便的,在HelloActivity小程序里我们就感觉到eclipse功能的强大。那么,我们可以用eclipse来开发android源码吗?如果我们直接把android源码里一个工程导入eclipse,一般来说都会出现错误,说许多类库(包)找不到。今天找到
2009-03-30 22:00:00 5660 3
原创 android的文件系统结构及其引导过程的初步理解
1、android文件系统的结构android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中,ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把 system和 userdata分别加载到 ramdis
2009-03-19 21:09:00 11569 5
原创 编译android的linux内核
参考文档:http://linux.chinaunix.net/techdoc/beginner/2009/02/06/1060906.shtml运行环境:Ubuntu8.101、构建交叉编译环境Android的默认硬件处理器是ARM的,因此我们需要在自己的host机器上构建交叉编译环境。来到CodeSourcery,(http://www.codesourcery.com/gnu_toolcha
2009-03-19 09:36:00 6020 1
原创 android源码的编译
/**版本:1.0日期:2009-03-18作者:HKjinzhao备注:初始版本*//**版本:1.1日期:2009-03-27作者:HKjinzhao备注:增加make sdk,修改一些内容*/本次编译过程主要参考官方文档(http://source.android.com/download)和网上相关资料(如http://blog.csdn.net/liaoshengjiong/archiv
2009-03-18 19:46:00 18777 7
原创 android模拟器在ubuntu8.10下的安装
本次安装参考android的官方文档----Hkjinzhao2009-03-161、安装java运行环境sudoapt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts2、安装java开发环境sudoapt-get install sun-java6-jdk3、安装an
2009-03-16 21:45:00 2592
转载 IT人不要一直做技术
这文章是转载过来的,我从事软件开发不到4个月,文章里的一些体会还没感觉到。我本人非常喜欢学习技术、研究技术,不过我还是挺欣赏“技术仅仅是一个工具”的观念。文章原文如下:我现在是自己做,但我此前有多年在从事软件开发工作,当回过头来想一想自己,觉得特别想对那些初学JAVA/DOT。NET技术的朋友说点心里话,希望你们能从我们的体会中,多少受点启发(也许我说的不好,你不赞同但看在我真心的份上别扔
2009-03-10 14:27:00 1033
原创 关于sizeof()与strlen()
sizeof()和strlen()很常见,实际上sizeof是运算符,可以不用();strlen()是函数很长一段时间没用字符数组,今儿发现偶的strlen()用错了。因此,把sizeof()和strlen()的区别总结一下(1)、sizeof:szieof()运算符是用来计算某种类型或数据所占的字节个数。sizeof是一个物理层面的操作符,通常在编译期间确定,得到的是一个对象/类型在栈上的投影大
2009-03-09 22:13:00 1082
原创 关于fltk::ShareImage::get()
fltk::ShareImage::get()用来读取图片,读入的图片数据存在在动态内存中,类fltk::ShareImage会自行释放内存,fltk::ShareImage::get()不会重复读取相同的图片文件。因此,我们在使用fltk::ShareImage::get()时,不要手动去释放图片内存。另外,有一点必须注意的:在使用fltk::ShareImage::get()获得的数据
2009-02-24 19:15:00 1058
原创 bash 当中一些常用的万用字符与特殊符号
bash 当中一些常用的万用字符与特殊符号:符号内容*万用字符,代表一个或多个字符(或数字)?万用字符,代表一个字母#批注,这个最常被使用在 script 当中,视为说明!/跳脱符号,将『特殊字符或万用字符』还原成一般字符
2009-02-02 19:38:00 1467
原创 shell的变量:
shell的变量: (1. 变量与变量内容以等号『=』来连结; (2. 等号两边不能直接接空格符; (3. 变量名称只能是英文字母与数字,但是数字不能是开头字符; (4. 若有空格符可以使用双引号『 " 』或单引号『 』来将变量内容结合起来,但须要特别留意,双引号内的特殊字符可以保有变量特性,但是单引号内的特殊字符则仅为一般字符; (5. 必要时需要以跳脱字符『 / 』来将
2009-02-02 19:35:00 829
原创 关于c++ const成员函数
const 成员函数有时候要在const 成员函数中调用非const 成员函数,怎么办?当然有不少办法,个人觉得,最简单的方法可以这样:写一个全局函数,非const 成员函数的类指针作为参数,然后在这个全局函数中调用想要调用的非const 成员函数。如,static void get_xxx(Student *s){s->get_xxx();}const 成员函数的更多介绍
2009-02-02 19:24:00 955
原创 在VirtualBox里复制VDI文件
直接复制出来的VDI文件无法在虚拟介质管理器中注册,因为每个VDI文件都有一个唯一的uuid,而VirtualBox不允许注册重复的uuid。解决:发现VBoxManage有一个clonevdi方法可以克隆VDI文件,并赋予它一个新的uuid。具体用法是在命令行里执行:VBoxManage clonevdi 原始VDI文件名 新的VDI文件名。用这个方法创建了新的VDI文件后,就可以正常注册并在另
2009-02-02 19:23:00 3549
原创 .pc文件
pc(package configure)是包(库)配置文件,保存在PKG_CONFIG_PATH=/usr/gpephone//lib/pkgconfig::/usr/lib/pkgconfig。pc文件保存了该库的头文件、库所在的路径信息。GCC等编译器编译时,比如编译某个工程用到glib-2.0这个库,pkg-config会按照PKG_CONFIG_PATH中的路径进行搜索glib-2.0.
2009-02-02 19:20:00 10398 2
原创 基础:PV原语
PV原语通过操作信号量来处理进程间的同步与互斥的问题。P原语:为阻塞原语,负责把当前进程由运行状态转换为阻塞状态,直到另外一个进程唤醒它。操作为:申请一个空闲资源(把信号量减1),若成功,则退出;若失败,则该进程被阻塞;V原语:为唤醒原语,负责把一个被阻塞的进程唤醒,它有一个参数表,存放着等待被唤醒的进程信息。操作为:释放一个被占用的资源(把信号量加1),如果发现有被阻塞的进程,则选择一个
2009-02-02 19:18:00 1932
原创 为什么在minicom串口中,键盘输入不起作用?
minicom串口的配置中有个Serial port setup -->Hardware Flow Contorl只要这个地方改成Yes,那么你的键盘是没有用的,接受不了任何输入。把他改成No就好了。minicom串口的配置操作方法:按相应字母,然后按上下翻,按一次就行了,但显示不及时,退出再进入查看,已经改过来了
2009-02-02 19:15:00 3646
原创 shell特殊变量
$# 传递到脚本的参数个数$? 前个命令执行情况,0成功,其它值失败$$ 脚本运行的当前进程号$! 运行脚本最后一个命令$* 显示脚本全部参数$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数$- 显示shell使用的当前选项,与set命令功能相同$0 脚本名称$1..$9 第N个参数
2009-02-02 19:07:00 933
原创 sed命令
sed 可以分析 Standard Input (STDIN) 的数据, 然后将数据经过处理后,再将他输出到 standrad out (STDOUT) 的一个工具。 至于处理呢?可以进行取代、删除、新增、撷取特定行等等的功能呢sed [-nefr] [动作]参数:-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到屏幕上。但
2009-02-02 19:02:00 732
原创 a.out产生的来由
gcc hello.c# 这个时候,在本目录下会产生一个名为 a.out 的执行档!# 在预设的状态下,如果我们直接以 gcc 编译原始码,并且没有加上# 任何参数,则执行档的档名会被自动设定为 a.out 这个文件名称!
2009-02-02 19:00:00 853
原创 关于sysctl
sysctl用于配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。命令格式:sysctl [-n] [-e] -w variable=valuesysctl [-n] [-e] -p (default /e
2009-01-29 23:16:00 778
原创 linux目录作用
linux目录作用:/bin这是放例如: ls, mv, rm, mkdir, rmdir, gzip, tar, telnet, 及 ftp 等等常用的执行档的地方(这些执行档的执行方法会在后面提到),有时候这个目录的内容与 /usr/bin 是一样的(有时候甚至会使用连结档哩),是给一般使用者使用的执行程序放置的所在!/boot
2009-01-29 23:12:00 2640 1
原创 ln的理解(符号链接与硬链接)
Hard Links:建立一个 inode,指向block (数据)区块:(1)、不能跨 filesystem ,因为不同的 filesystem 有不同的 inode table(2)、不能 link 目录Symbolic Links:建立一个独立的档案,个档案会让数据读取指向他 link 的那个档案内容:当来源档被删除之后,symbolic link 的档案会开不了。
2009-01-29 10:19:00 1285
原创 关于umask
umask:umask 就是指定『目前使用者在建立档案或目录时候的属性默认值』,直接输入 umask是查看 umask 数值(分数),用分数表示权限:若使用者建立为『档案』则预设『没有可执行 ( x ) 项目』,亦即只有 rw 这两个项目,也就是最大为 666 分,--rw-rw-rw-若使用者建立为『目录』,则由于 x 与是否可以进入此目录有关,因此预设为所有权限均开放,亦即为 777
2009-01-29 10:18:00 741
原创 __FUNCTION__,__FILE__,__LINE__
__FUNCTION__,__FILE__,__LINE__在LINUX下的C/C++编程中,这3个变量分别为当前函数名(char *),当前文件(char *),当前行号(int)
2009-01-29 10:17:00 830
原创 svn的基本使用
svn:版本控制,常用命令选项:add cleanup copy delete update commit有时候更新不了,则到libtools-0.0.1/下rm * -rfsvn删除目录:svn delete xxx, svn commit xxxsvn上传文件、目录:svn add xxx, svn commit xxx更新到服务器:svn commit [文件];如果没有文件,则
2009-01-29 10:14:00 775
原创 gvim/vim/vi常用命令及技巧
vim/vim/vi常用命令:其替换功能很好用,见 vim替换功能.html查找单词:/word,或 把光标移到那个单词下面使用*命令。Vim 会取得光标上的单词并把它作为被查找的字符串,而#则是反向查找。[、]:光标在空行之间上下跳移。x或Delete 表示 dl (删除当前光标下的字符)X 表示 dh (删除光标左边的字符)D 表示 d$ (删除到
2009-01-29 10:09:00 3009
原创 sqlite3编程接口
sqlite3编程接口:主要包括2个结构体和5个函数,如下sqlite3 *pdb, 数据库句柄,跟文件句柄FILE很类似sqlite3_stmt *stmt, 这个相当于ODBC的Command对象,用于保存编译好的SQL语句sqlite3_open(), 打开数据库sqlite3_exec(), 执行非查询的sql语句sqlite3_prepare(), 准备sql语句
2009-01-29 10:04:00 1340
原创 关于fltk::FileBrowser::add()
fltk::FileBrowser::add()的使用会与Window::exec()有冲突的时候:窗口显示位置会出错。因此,用fltk::FileBrowser::insert()代替fltk::FileBrowser::add()
2009-01-29 10:03:00 803
原创 关于fltk的模型窗口
1、Window::exec()是以模型窗口方式打开,fltk模型窗口只能有一个在工作,多个时,将不能操作,在模型窗口打开普通窗口时操作不了的。2、Window::make_exec_return()会把窗口退出,所以需要在创建窗口对象的地方进行delete。小结:模型窗口需要外部进行delete,而用show()的窗口则由它本身进行destroy()
2009-01-29 10:00:00 1425
原创 关于fltk中的handle()函数
在编写fltk类的handle()函数时,事件处理完之后还要调用父类的handle():return XXX::handle(e)。
2009-01-29 09:59:00 1143
原创 glib简介及用法
glib是gtk的基本库,提供了许多实用函数,包括常用的数据结构处理、文件处理、字符串处理等。使用时只需要包括。sudo apt-get install devhelp来安装devhelp,之后就可以通过devhelp来查看函数了。glib有它自己的类型定义:整数类型:gint8、guint8、gint16、guint16、gint32、guint32、gint64、guint
2009-01-29 09:46:00 1573
原创 关于strlcpy
建议使用GNU的strlcpy。它们比较安全,在中有包括。见“strcpy ,strncpy ,strlcpy地用法.html”。
2009-01-28 21:57:00 991
原创 关于sizeof与strlen
注意:获取字符数组长度请使用sizeof—可以获得数组定义时的长度,而不是strlen;字符指针则可能不能使用sizeof,而用strlen
2009-01-28 21:55:00 653
原创 关于realloc
realloc 可以对给定的指针所指的空间进行扩大或者缩小,无论是扩张或是缩小,原有内存的中内容将保持不变。当然,对于缩小,则被缩小的那一部分的内容会丢失。realloc 并不保证调整后的内存空间和原来的内存空间保持同一内存地址。相反,realloc 返回的指针很可能指向一个新的地址。所以,在代码中,我们必须将realloc返回的值,重新赋值给 p。
2009-01-28 21:53:00 863
原创 关于字符串中的""与NULL
char *str1=NULL;与char *str2=””;不一样:str1地址为0,没有分配空间;而str2分配空间,得到””的字符串(””是只包括’/0’的字符串),地址不为空。所以判断是否为空时,这两种情况都要考虑到。
2009-01-28 21:51:00 653
原创 关于c++的静态数据(函数)成员的理解
c++的静态数据(函数)成员属于类(包括对象)所有,所以可以直接用类名来访问也可以用对象名来访问。静态数据成员的定义/初始化必须在放在类之外,注意,类中是对静态数据成员进行声明而已,不是定义。如例子 c++静态成员小结,c++,static
2009-01-28 21:49:00 705
android浏览器(Browser)代码分析之UML图
2009-11-21
周立功文件系统zlg_fs(能用)
2008-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人