Linux上构筑iPhone OS3.1.2开发环境之build
昨天郁闷了一天,因为不管我如何编译,总是有错误产生。
没想到今天我清理掉所有文件,重新操作了一编,居然神奇般编译成功了。挖哈哈。。。太高兴了,终于离编译可运行在IPHONE
机器上的HELLO world 不远了,太激动了。。
总结一下:我昨天安装了管方列出的所有包,还有就是不放弃,多试几次。
Here we provide a list of packages for Debian/Ubuntu
apt-get install \
automake \
bison \
cpio \
flex \
g++ \
g++-4.3 \
g++-4.3-multilib \
gawk \
gcc-4.3 \
git-core \
gobjc-4.3 \
gzip \
libbz2-dev \
libcurl4-openssl-dev \
libssl-dev \
make \
mount \
subversion \
sudo \
tar \
unzip \
uuid \
uuid-dev \
wget \
xar \
zlib1g-dev \
If you are on 64 bit please install:
apt-get install g++-4.3-multilib gcc-4.3-multilib gobjc-4.3-multilib
下面是编译完后的结果:
warf-strip/hello.c
A /home/zhaowei/toolchain/toolchain/src/cctools/ld64/unit-tests/test-cases/relocs-objc
A /home/zhaowei/toolchain/toolchain/src/cctools/ld64/unit-tests/test-cases/relocs-objc/test.m
A /home/zhaowei/toolchain/toolchain/src/cctools/ld64/unit-tests/test-cases/zero-fill
A /home/zhaowei/toolchain/toolchain/src/cctools/ld64/unit-tests/test-cases/zero-fill/test.c
A /home/zhaowei/toolchain/toolchain/src/cctools/ld64/unit-tests/test-cases/relocs-asm
A /home/zhaowei/toolchain/toolchain/src/cctools/ld64/unit-tests/test-cases/relocs-asm/relocs-asm.s
A /home/zhaowei/toolchain/toolchain/src/cctools/ld64/unit-tests/test-cases/literals-coalesce-alignment
A /home/zhaowei/toolchain/toolchain/src/cctools/ld64/unit-tests/test-cases/literals-coalesce-alignment/cstring-align-0.s
A /home/zhaowei/toolchain/toolchain/src/cctools/ld64/unit-tests/test-cases/literals-coale
相关文档:
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://blog.csdn.net/Neverland2012
我们经常会去下载别 ......
//
同步问题:
对共享数据的访问,需要同步,互斥。
在中断,抢占,多CPU,多线程 环境下尤其重要。
同步分为: 阻塞同步,非阻塞同步
阻塞同步有许多实现方式了:mutex, semaphore. 阻塞同步使用不当就可能造成死锁,活锁,优先级反转。
非阻塞同步:(现在流行三种)
wait free 很难实现,思想是本线程有限步就 ......
Linux内核配置办法:
1. make config
这种办法会遍历所有配置项,要求用户逐个选择Y/N/M
2. make menuconfig
这个办法是基于ncurse库编制的图形界面工具。常用
3. make xconfig
用于基于X11的图形工具
4. make gconfig
用于基于gtk+图形工具
5. make defconfig
创建一个默认的配置,生成当前的.config
6. make x ......
/*
* 该文件主要实现的是truncate函数,该函数是释放指定i
* 节点在设备上占用的所有逻辑块,包括直接块、一次间
* 接块和二次间接块
*/
/*
* linux/fs/truncate.c
*
* (C) 1991 Linus Torvalds
*/
#include <linux/sched.h>
......
/*
* linux/fs/file_dev.c
*
* (C) 1991 Linus Torvalds
*/
#include <errno.h>
#include <fcntl.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <asm/segment.h>
#define MIN(a,b) (((a)<(b))?(a):(b))
#defi ......