Diferencia entre armeabi y armeabi-v7a
Por lo que puedo decir de los documentos, la diferencia entre los dos sabores soportados de la arquitectura ARM en Android NDK es sólo en el conjunto de instrucciones de CPU soportadas. ¿Es eso realmente así? ¿No hay diferencia en las convenciones de llamada, o secuencia de llamadas del sistema, o algo más?
Me pregunto qué pasará si compile un módulo en un archivo de objeto ARM (con un compilador distinto de NDK – Free Pascal específicamente), especificando ARMv6 como la arquitectura, y luego vincularlo a las bibliotecas compartidas armeabi y armeabi-v7a. No se supone que los bits FPC realicen ni las llamadas al sistema ni las Java, excepto a través de mi propia interfaz basada en C.
- Android NDK Problemas de red: falla la conexión TCP
- ¿Cómo compilar la última FFmpeg Library para Android?
- Hormiga construida con archivos .so
- Ejecutando ndk-stack en arm64-v8a lib error con error Formato de archivo no reconocido
- Software Android NDK código nativo c perfil en los teléfonos Android real
EDIT: una biblioteca hola mundo, compilado con FPC para ARM, enlaces y se ejecuta en el emulador ARMv7a.
- Los símbolos se quitan cuando se construye código nativo usando Gradle
- Instalación y uso de Android NDK en Eclipse
- Cómo configurar el proyecto NDK en Android Studio 1.3
- NDK64 y NDK32 r10
- Android NDK y LOCAL_ARM_MODE
- Error en la creación del proyecto cocos2d-x android: atributo de objeto EABI desconocido 44
- Desea crear un complemento en Cocos2d para mi SDK
- ¿Cómo utilizar NDK? Comenzando con la aplicación "hola mundo"
Definitivamente puede ejecutar la biblioteca compartida armeabi en v7, y puede llamar a sus funciones exportadas desde otro módulo. Por lo tanto, para estar en el lado seguro, crearía un archivo separado .so
de usted código de Pascal, pegándose al armeabi (quizá con algunos envolturas de C / C ++), y utilice esta biblioteca compartida con sus bibliotecas del armeabi y del armeabi-v7a. La forma más fácil de cargar todo en el orden correcto es usar
System.loadLibrary("pascal"); // armeabi System.loadLibrary("c++"); // the platform will choose armeabi or armeabi-v7a
- ¿Qué es una buena biblioteca para analizar expresiones matemáticas en java?
- Cómo acelerar Android Studio en una Mac