① 在仅有x86服务器或者云服务器下如何编译出arm环境下执行的
在仅有x86服务器或者云服务器下编译出arm环境下执行步骤如下。
1、首先,安装qemu-user安装包,并更新qemu-arm的状态。
2、查看qemu-arm的版本。
3、下载arm架构的容器(在dockerhub可以找到各种非x86架构的镜像)。
4、最后进入容器访问。
② 请问运行于不同CPU构架的linux,它们的软件可以通用吗
就你举例来说的x86编译的软件,arm是不能用的,需要交叉编译,因为他们的执行指令都不一样,你需要用arm的编译器来编译你的源码才可以。
③ 什么是交叉编译,为什么要采用交叉编译
在一个平台架构上,编译另一个平台架构的可执行代码,就是交叉编译。
例如在x86架构的PC上编译arm嵌入式设备的可执行程序。
交叉编译是不得不用,
首先在目标设备的系统还没引导起来的时候,编译目标平台的引导程序,显然只能交叉编译。
还有因为目标设备往往能力太低,没法安装编译器,或者勉强安装了,也慢得像蜗牛。
④ arm和x86系统通用吗
arm和x86系统不通用。由于底层架构的不同,特别是指令集的不同,在arm机器上编译的程序放到x86机器上是不能执行的。同理,在x86机器上编译的程序放到arm机器上也是不能执行的。系统不通用。arm指令集不兼容x86,它的主要受众是手机和轻服务应用,arm操作系统有安卓和ios的手机客户端,有着大量的安卓应用和ios应用,不必使用x86应用足以维持自身生态,在轻服务器端有arm的windows版和linux版,有各自的服务端应用。