Reutilizo una biblioteca de C heredada en una aplicación de iOS y en una de Android. Quiero personalizar algunas definiciones de macro (por ejemplo, para el registro). ¿Hay definiciones estándar para verificar (usando #ifdef) si el código se está compilando para iOS o Android/NDK?Cómo determinar el código C compilado para Android/NDK o iOS
Respuesta
__ANDROID__
o ANDROID
para Android (compilación con el NDK) y __APPLE__
en las plataformas de Apple (iOS o OSX)
Es ANDROID sin guiones bajos. Gracias. – Miriam
No, es '__ANDROID__' ** con ** guiones bajos. Citando [David Turner] (http://markmail.org/message/5ekhfztchs45lz3n): "Recomendaría definir' __ANDROID__' explícitamente por ahora, debería ser lo único que los usuarios de NDK deberían probar nuevamente ". –
debería considerar crear dos proyectos separados para esas plataformas con directorios separados de salida/bin pero código fuente compartido. A continuación, que acaba de establecer algunos definen en las propiedades del proyecto para Android e iOS para que pueda reconocerlo al compilar
- 1. Determinar el tamaño del código C#
- 2. C código compilado con C++: referencia indefinida
- 3. Rendimiento del código compilado por el compilador compilado
- 4. Cómo depurar/romper código codificado compilado
- 5. ¿Por qué el código JIT consume tanta memoria que el código compilado o interpretado?
- 6. ¿Cómo puedo compilar y vincular código C++ con código C compilado?
- 7. ¿El código C# está compilado en binarios nativos?
- 8. código compilado impar
- 9. libphonenumber para iOS o objetivo-c puerto
- 10. ¿Incluye Java comentarios sobre el código compilado?
- 11. Cómo determinar si el archivo dll fue compilado como un bit x64 o x86 usando Delphi o Lazarus
- 12. Cómo depurar el código compilado de Java en Eclipse
- 13. ¿Cómo veo el código de máquina compilado o el código de bytes para una función de C++ en Visual Studio 2010?
- 14. ¿Qué modo de subprocesamiento es Sqlite para iOS compilado?
- 15. C# compilado en mono - Detectar OS
- 16. ¿Titanium Mobile convierte Javascript en código compilado nativo de Java o Objective C?
- 17. Xcode/iOS: ¿Cómo determinar si el código se está ejecutando en la compilación DEBUG/RELEASE?
- 18. ¿Cómo usar Netbeans para depurar el código compilado usando el build.xml personalizado de Ant?
- 19. ¿Por qué el programa C++ compilado para la plataforma x64 es más lento que el compilado para x86?
- 20. Ejecuta el código C# compilado dinámicamente a la velocidad nativa ... ¿cómo?
- 21. ¿Cómo puedo usar el código C++ para interactuar con PHP?
- 22. sitios que sirven con código PHP compilado
- 23. ¿Debo elegir secuencias de comandos o código compilado para tareas pequeñas?
- 24. Cuando el código compilado difiere del shell evaluado?
- 25. ¿Cómo puedo determinar qué iOS SDK tengo?
- 26. ¿Java es un lenguaje de programación compilado o interpretado?
- 27. Cuándo usar Cygwin o MinGW para compilar el código C?
- 28. FxCop (o equivalente) para el código no-NET C++
- 29. C++: herramientas para analizar estáticamente el código (y/o preprocesarlo)
- 30. ¿Cómo puedo verificar la vinculación entre código Java compilado?
favor no use '# ifdef' para esto. Escriba código portátil y ponga problemas específicos de la plataforma en módulos por plataforma con una interfaz común. –
Insertar en el módulo diferente, compilar cada uno usando la ruta de inclusión diferente – qrtt1
Generalmente, pero uno debe equilibrar la magnitud de la diferencia con la conveniencia de mantener organizada la funcionalidad. El uso excesivo de la abstracción puede hacer que el código sea tan ilegible como poco utilizado. Si tuviera un gran bloque de código que fuera idéntico a excepción de una diferencia heredada de linux-vs-bsd en una llamada al sistema Unix, probablemente lo vería con un comentario allí mismo, en lugar de inventar un nuevo concepto personal de Unix portátil y enterrar la implementación en funciones en línea extraídas de algún archivo de encabezado. –