linux - 使用 Android NDK 构建的 native 可执行文件与使用 gcc-arm for Raspbian(pi-tools)为 Raspberry Pi 构建的本地可执行文件有何不同

标签 linux gcc android-ndk raspberry-pi raspbian

我最近使用 NDK 构建了一个简单的 Hello World 程序,并尝试让它在我的 Rasberry Pi2 上运行,该 Pi2 在 Arm 处理器上运行 Rasberry Linux 发行版。但是,操作系统无法识别可执行文件并提示它不是有效的可执行文件。

我想知道为什么会这样?为什么我们有不同的构建工具链用于 Android 和 Raspberry,即使它们都是 Linux 和 ARM。

最佳答案

Android 使用 armeabi 或 armeabi-v7a。另一方面,Raspberry 使用不兼容的 gnueabihf ABI。请注意,Android 具有 Bionic 运行时库,它与 Linux 的其余部分并不完全兼容。

关于linux - 使用 Android NDK 构建的 native 可执行文件与使用 gcc-arm for Raspbian(pi-tools)为 Raspberry Pi 构建的本地可执行文件有何不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31378792/

相关文章:

c - 如何找出我的 gcc 默认使用哪个 ANSI C 标准?

c - 如何仅包含 header 中的定义

Linux:从 XML 文件中删除具有从第 2 次出现开始的匹配字符串的行的命令

X86 和 ARM 上 C 中指针和整数的比较

c - bool 是原生 C 类型吗?

android - 错误 : '__NDK_FPABI__' does not name a type. 版本 2

Android图像处理过滤器导致OutOfMemory Exception

安卓NDK : Function va_start/va_end could not be resolved

linux - 为什么文件名前有 "??"

linux - 如果Linux内核删除自身会发生什么?