新聞中心
隨著移動設(shè)備的普及,ARM架構(gòu)的處理器也成為了移動領(lǐng)域的主流。而在Linux操作系統(tǒng)下,一些應用程序需要針對ARM架構(gòu)進行優(yōu)化運行。本文將介紹在Linux系統(tǒng)下如何運行armeabi架構(gòu)應用。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比臺江網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式臺江網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋臺江地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
一、了解armeabi架構(gòu)
armeabi架構(gòu)是指基于ARM處理器的Linux系統(tǒng),是armeabi-v7a的子集,針對處理器架構(gòu)做了一些優(yōu)化。armeabi目前已經(jīng)被Google所采用,并被廣泛應用在Android系統(tǒng)上。
二、Linux系統(tǒng)如何運行armeabi應用
1.交叉編譯
一般情況下,如果想在Linux系統(tǒng)下運行armeabi架構(gòu)應用,需要通過交叉編譯來實現(xiàn)。交叉編譯是指在一種系統(tǒng)上編譯出另一種系統(tǒng)所需的程序。針對ARM架構(gòu)的交叉編譯可以使用GCC等工具進行。
交叉編譯的過程大致如下:
(1)安裝交叉編譯工具鏈
例如以arm-linux-gcc為例,安裝步驟如下:
sudo apt-get install gcc-arm-linux-gnueabi
(2)配置交叉編譯環(huán)境
export CC=arm-linux-gcc
export CXX=arm-linux-g++
export AR=arm-linux-ar
export LD=arm-linux-ld
(3)將代碼拷貝到交叉編譯環(huán)境中,并進行編譯
$ make clean
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
(4)生成可執(zhí)行文件,并在ARM系統(tǒng)中運行
例如將可執(zhí)行文件myapp拷貝到ARM系統(tǒng)中,并通過終端運行運行命令
$ ./myapp
2.使用Qemu模擬器
在沒有真實的ARM開發(fā)板的情況下,可以使用Qemu模擬器來運行ARM架構(gòu)應用。Qemu是一款開源虛擬化軟件,支持多種處理器架構(gòu)的模擬運行。
Qemu的安裝和使用步驟如下:
(1)安裝Qemu
sudo apt-get install qemu-system-arm
(2)下載ARM系統(tǒng)鏡像文件
例如下載Debian的ARM系統(tǒng)鏡像文件
wget http://ftp.debian.org/debian/dists/jessie/mn/installer-armel/current/images/qemu/armel/initrd.gz
wget http://ftp.debian.org/debian/dists/jessie/mn/installer-armel/current/images/qemu/armel/vmlinuz
(3)運行ARM系統(tǒng)
$ qemu-system-arm -M versatilepb -kernel vmlinuz -initrd initrd.gz -append “root=/dev/ram”
(4)在ARM系統(tǒng)中安裝應用
例如在Debian系統(tǒng)中通過apt-get安裝應用
$ sudo apt-get install app-name
(5)在ARM系統(tǒng)中運行應用
例如將應用程序myapp拷貝到ARM系統(tǒng)中,并通過終端運行命令
$ ./myapp
三、
本文介紹了在Linux系統(tǒng)下如何運行armeabi架構(gòu)應用,包括交叉編譯和使用Qemu模擬器。對于開發(fā)ARM架構(gòu)應用的開發(fā)者來說,掌握這些方法可以更好地在Linux系統(tǒng)中進行ARM系統(tǒng)應用的開發(fā)和測試。
相關(guān)問題拓展閱讀:
- 如何在Android的NDK都使用ASIO
如何在Android的NDK都使用ASIO
NDK編譯boost生成靜態(tài)庫:
進入Cygwin終端,解壓boost_1_55_0.tar.bz2 到 android-ndk-r10c/sources 文件夾里
# tar -jxvf boost_1_55_0.tar.bz2
進入boost_1_55_0/目錄運行 bootstrap.sh 生成 b2
進入 boost_1_55_0/tools/build/v2/user-config.jam,在后面穗漏添加:
import os ;
if = CYGWIN || = NT {
androidPlatform = windows-x86_64 ;
}
else if = LINUX {
androidPlatform = linux-x86_64 ;
}
else if = MACOSX {
androidPlatform = darwin-x86 ;
}
modules.poke : NO_BZIP2 : 1 ;
#ANDROID_NDK = ../.. ;
ANDROID_NDK = D:/Android/android-ndk-r10c ;
using gcc : android4.8 : $(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.8/吵蘆prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-g++ :
$(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-ar
$(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.8/猜碰爛prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-ranlib
–sysroot=$(ANDROID_NDK)/platforms/android-9/arch-arm
-I$(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++/4.8/include
-I$(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include
#-DBOOST_NO_STD_WSTRING
-DNDEBUG
-D__GLIBC__
-DBOOST_FILESYSTEM_VERSION=3
-lstdc++
-lgnustl_shared
-mthumb
-fno-strict-aliasing
-std=gnu++11
-O2
;
關(guān)于linux運行armeabi的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽、重慶、貴陽機房服務(wù)器托管租用。
文章標題:Linux如何運行armeabi架構(gòu)應用 (linux運行armeabi)
分享地址:http://m.fisionsoft.com.cn/article/cdhiocj.html


咨詢
建站咨詢
