系统调优:代码与内核大小优化指南
在嵌入式系统开发中,资源往往是有限的,因此优化代码和内核的大小至关重要。本文将介绍一些有效的方法,帮助你减少代码和内核的占用空间。
1. 确定目标根文件系统所需文件
使用readelf程序可以更优雅地确定程序所需的共享库。以下是具体操作步骤:
$ arm-linux-readelf -d <your program> | grep NEEDED这个命令会解析程序的 ELF 头,-d参数让程序只打印动态信息,grep命令则显示该部分中共享库的条目。对所有可执行文件执行此操作,就能得到需要包含在目标根文件系统中的文件列表。
在从工具链收集文件时,要注意每个共享库都有一个文件和几个指向该文件的符号链接。例如:
$ ls -l $ROOTFS/lib/libc* -rw-r--r-- 1 gene gene 13043 2009-06-30 20:57 libcrypt-0.9.30.1.so lrwxrwxrwx 1 gene gene 20 2009-06-30 23:57 libcrypt.so.0 -> libcrypt-0.9.30.1.so lrwxrwxrwx 1 gene gene 21 2009-06-30 23:57 libc.so.0 -> libuClibc-0.9.30.1.so