歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

將LMbench移植到Android上

LMbench是個可移植的,用於評價系統綜合性能的多平台開源benchmark,能夠測試包括文檔讀寫、內存操作、進程創建銷毀開銷、網絡等性能。通過以下步驟操作,即可將LMbench移植到Android上。

1.下載LMbench源碼

傳送門:http://www.bitmover.com/lmbench/get_lmbench.html

2.編輯scripts/os 添加 OS=arm-linux

$vim scripts/os

#!/bin/sh 
 
if [ "X$OS" != "X" ] && echo "$OS" | grep -q '`' 
then 
  OS= 
fi 
 
if [ "X$OS" = "X" ] 
then    OS=bloat-os 
  MACHINE=`uname -m | sed -e 's/ //g' | sed -e 's?/?-?g'` 
  SYSTEM=`uname -s | sed -e 's/ //g' | sed -e 's?/?-?g'` 
  OS="${MACHINE}-${SYSTEM}" 
  if [ -f ../scripts/gnu-os ] 
  then    OS=`../scripts/gnu-os | sed s/unknown-//` 
  fi   
  if [ -f ../../scripts/gnu-os ] 
  then    OS=`../../scripts/gnu-os | sed s/unknown-//` 
  fi   
fi 
#add arm-linux 
OS=arm-linux 
echo $OS   

3.編輯scripts/compiler 添加 CC=arm-linux-gcc

$vim scripts/compiler

#!/bin/sh 
 
if [ "X$CC" != "X" ] && echo "$CC" | grep -q '`' 
then 
  CC= 
fi 
 
if [ X$CC = X ] 
then    CC=cc 
  for p in `echo $PATH | sed 's/:/ /g'` 
  do  if [ -f $p/gcc ] 
      then    CC=gcc 
      fi 
  done 
fi 
#add arm-linux-gcc                                                                                                                               
CC=arm-linux-gcc 
echo $CC 

4.編輯src/Makefile 指定linker

62行,增加 -Wall -Wl,--dynamic-linker=/system/bin/linker

COMPILE=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)  -Wall -Wl,--dynamic-linker=/system/bin/linker

5.編輯src/Makefile 解決無bk.ver問題

用arm-linux-gcc編譯,遇到錯誤

make[2]: *** No rule to make target `../SCCS/s.ChangeSet', needed by

`bk.ver'.  Stop.

解決辦法:

$vim src/Makefile

231 $O/lmbench : ../scripts/lmbench  bk.ver

刪除 bk.ver ,再次make , 順利編譯完成後,在bin/arm-linux/下 生成所有工具二進制,並且可以在Android設備上執行。

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved