其他分享
首页 > 其他分享> > Android是否会抽象设备架构?

Android是否会抽象设备架构?

作者:互联网

我是android编程的新手,我正在阅读有关此问题的答案Why shouldn’t an Android app be written in C/C++ because you “simply prefer to program in C/C++”?
在Devunwired的第一个答案中.他提到:“您的本机代码必须内置到.so文件中(一个用于armv5,armv7和x86的文件),并且都打包到同一个APK中.这种可执行代码的重复使您的应用程序变成3倍大小(即“胖二进制文件”)除非您在分发应用程序时承担为每种架构构建单独的APK的任务,”

我的问题是,我一直认为操作系统通常提供对基础体系结构的抽象.因此,如果我想在不同的环境中部署c / c程序,则需要使用为不同操作系统编写的编译器重新编译源代码,但是此操作系统可能具有支持不同体系结构的不同版本.
如果我是正确的,那么为什么Android的情况有所不同?

解决方法:

在某些时候,操作系统会将代码移交给CPU.二进制文件必须具有用于该特定CPU的指令.使用Java,每个OS和CPU都可以使用相同的虚拟机,因此您不必考虑相同的问题.

标签:cpu-architecture,operating-system,c-3,c-4,android
来源: https://codeday.me/bug/20191027/1942038.html