【发布时间】:2012-08-26 11:58:58
【问题描述】:
据我所知,Android NDK 中两种支持的 ARM 架构风格之间的区别仅在于支持的 CPU 指令集。真的是这样吗?调用约定、系统调用顺序或其他方面没有区别吗?
我想知道如果我将模块编译为 ARM 目标文件(使用 NDK 以外的编译器 - 特别是 Free Pascal),将 ARMv6 指定为架构,然后将其链接到 armeabi 和 armeabi-v7a 会发生什么共享库。 FPC 位不应该既不执行系统调用也不执行 Java 调用,除非通过我自己的基于 C 的接口。
编辑:hello world 库,使用 FPC for ARM 编译,链接并在 ARMv7a 模拟器下运行。
【问题讨论】:
-
“我想知道会发生什么”你可以试试 :) 不知道这是否可行,但 Internet suggests 有办法让 Free Pascal 代码在 Android 上运行。跨度>
-
微妙的 EABI 不匹配之类的事情通常会在边缘情况下表现出来,而不是立即在您的脸上炸开。并且以 100% 为目标执行覆盖率测试并不是我会心甘情愿地进行的事情。
标签: android android-ndk cpu-architecture freepascal abi