这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 资深Linux的开发经验谈(二)

共1条 1/1 1 跳转至

资深Linux的开发经验谈(二)

专家
2009-03-19 15:04:10     打赏
资深Linux的开发经验谈(二)

 

freshen.sh 调用 do-links.shget_update.sh ,分别去设置 RPM 发行版本的源、宿(省略了源 RPM 软件包;硬链接用来设置目的 RPM)和检索更新。

http://www.armforum.cn

 

清单 2. do-links.sh
#!/bin/sh

src=$1
dest=$2

#for file in $src/*; do
for file in `find $src -name *.rpm -a ! -name *.src.rpm -print`; do
base=`basename $file;`
if test ! -f $dest/$base; then
echo "Linking $file";
ln $file $dest
else
echo "EXISTS: $file";
fi
done

字串4

 

清单 3. get_update.sh

字串8

 

#!/bin/sh
rh_ver=$1
dest=$2
echo "Retrieving updates for version ${rh_ver} to $dest"
lftp << EOF
open ftp.freshrpms.net

mirror -n pub/redhat/linux/updates/${rh_ver}/en/os/i386 $dest/i386
mirror -n pub/redhat/linux/updates/${rh_ver}/en/os/i486 $dest/i486
mirror -n pub/redhat/linux/updates/${rh_ver}/en/os/i586 $dest/i568
mirror -n pub/redhat/linux/updates/${rh_ver}/en/os/i686 $dest/i686
mirror -n pub/redhat/linux/updates/${rh_ver}/en/os/SRPMS $dest/SRPMS
mirror -n pub/redhat/linux/updates/${rh_ver}/en/os/noarch $dest/noarch
字串4

Java 和 Linux

在 Codemonks,相当多的开发工作是在 Linux 上用 Java 完成。这两个工具的组合为创建商业级质量的 Web 应用提供了一个平台,Murray 说。“在做这些项目的过程中,我们发现我们要总体上了解客户已有的应用代码”,他回忆说。locks.c (在下载得到的压缩文件中的 /developerworks/locks 目录下) 是一个代码片段,实现的是用于 Java Virtual Machine Profiler Interface (JVMPI) 的读/写锁以及大量的调试代码。 ARM

Linux 开发人员的代表

“在情况答应的时候,不要写特定于系统的代码”,Murray 说,而是克服困难去“写好的跨平台的代码”。受雇的 Murray 坚持认为他最大的资本永远是“写具有商业品质的代码,构建和提供网络服务,定制 OS 或内核,而且完全基于可靠的开放源代码的平台”。 字串8

下面是一个代码片段,来自于一个跨平台的定制的 IMAP 服务器,这个服务器由 Linux 和 MacOS X 的开发人员共同开发。代码实现的是一个用来处理字符串的简单的增长缓存。这样避免了缓存溢出的问题(不要忘记那些安全漏洞),而不必要您每次做某些事情的时候重新分配空间。它是通过维护一个简单的可变长的缓存来实现的,这个缓存可以写满和清空。这个缓存已经被用于一个实验用的 IMAP 服务器,这个服务器是由一个团队紧张工作了一周完成的。

ARM

 

除了一个简单的字符串缓冲区的实现之外,这段代码还实现了一个可变大小的字符串数组。它完成的是一个简单的接口,当您写完一个字符串以后,您可以标记它然后继续写下一个。此外,这样会节约空间分配,并且将比较乱的代码组织到一起。 ARM

完整的 IMAP 服务器的代码将在今年某个时间发布。




关键词: 资深     Linux     开发     经验谈     一个     代码    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]