Published on 2010/06/09
很久不学,都快忘了有对齐(align/alignment)这个概念。
struct A
{
char a;
int b;
shot c;
}aa;
sizeof aa 是多少?如果不知道答案是12,请看这里。
malloc返回的是对齐过的地址,LCC中内存管理中,用allocate函数申请内存时,返回的也是对齐过的地址。
实现对齐用到了一个union:
union align {
long l;
char *p;
double d;
int (*f)(void);
};
申请x个字节的内存:
x = roundup(x, sizeof (union align));
sizeof (union align)得到的是host机器默认对齐值,目前IA32一般是8,即按照8来对齐,使得x能被8整除。
roundup是个宏:
#define roundup(x,n) (((x)+((n)-1))&(~((n)-1)))
此宏运算得到的是不小于x的能被n整除的最小正整数。
如果n=8,x要能被8整除,则x的二进制表示最低三位要为0,&(~((n)-1))即实现此目的。
Published on 2010/06/06
很习惯对于一个文件,尤其是没后缀的、其他平台的,直接右键,UE打开。觉得这个很方便。
右键菜单有时会消失,手动加上即可:
新建文本文件,内容:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell]
[HKEY_CLASSES_ROOT\*\shell\UltraEdit]
@="UltraEdit"
[HKEY_CLASSES_ROOT\*\shell\UltraEdit\Command]
@="D:\\UltraEdit\\Uedit32.exe %1"
存为.reg文件,双击,搞定。
第一个@引号里的是右键时显示的内容,第二个@引号里面的是可执行程序的位置,%1应该是参数占位符,点击时会把你所点击的文件传给UE,UE便打开这个文件。
想把图标也加上去,看其他的都是放在shellex下面的,想模仿一下,没弄明白键值什么意思,怎么得到。
Published on 2010/06/03
ramdisk.img是zip压缩的cpio归档文件,查看它:
#gzip -d -S .img ramdisk.img
创建文件夹tmp,copy ramdisk到tmp,便于修改,cd进tmp去,
#cpio -i -F ramdisk
得到ramdisk中的内容,对内容可做修改,修改完后,移除开始的ramdisk,然后,
#cpio -i -t -F ../ramdisk | cpio -o -H newc -O ../ramdisk_new
得到修改后的ramdisk_new,gzip之,得到可用的新的ramdisk.img。
More at:Click me
Published on 2010/06/03
Repo是一个python脚本,被设计用来更简单的获取Android源码,其核心也是使用Git来获取源码。
A. 创建~/bin目录,并将其加入PATH环境变量
cd ~ (进入用户目录)
mkdir bin (创建bin文件夹)
sudo gedit ~/.bash_profile (打开.bash_profile文件,在其中加入PATH=$PATH:~/bin)
. ~/.bash_profile (使环境变量改变马上生效)
echo $PATH (再次检查~/bin是否已经加入PATH环境变量)
B. 下载repo脚本,并将它的属性改为可执行
curl http://android.git.kernel.org/repo > ~/bin/repo (下载repo)
chmod a+x ~/bin/repo (更改属性)
C. 创建一个保存源码的目录
mkdir Android (创建Android目录)
cd Android (进入Android目录)
D. 初始化repo工作环境,获取最新的工程清单。
repo init -u git://android.git.kernel.org/platform/manifest.git
其中会提示输入姓名和电子邮件,如果需要上传源码到Android项目,请使用gmail的邮箱。
E. 完成
初始化完成以后,会有一个类似于下面的提示。
repo initialized in ~/Android
这时Android目录下面会有一个.repo目录,里面包含Android各个子项目的清单(Manifest)以及其他一些文件。
More At:http://source.android.com/source/git-repo.html
Published on 2010/06/03
某程序员对书法十分感兴趣,退休后决定在这方面有所建树。于是花重金购买了上等的文房四宝。
一日,饭后突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行字:hello world。