Necesito algunos MACRO personalizados en mis proyectos NDK Sin embargo, no tengo ningún ideal para agregar y no encontré ninguna respuesta ¿Alguien podría ayudarme? ¡Muchas gracias!¿Cómo agregar una MACRO personalizada al usar NDK?
Respuesta
Si lo entiende correctamente, debe ver cómo funciona el C Preprocessor.
¿Tienes alguna experiencia en escribir C/C++ - programas? En primer lugar, debe ser muy exigente con las partes de la aplicación que escribe en el código nativo. Además, debe tener en cuenta que el código nativo se comportará de manera totalmente diferente en lo que respecta a la asignación de memoria, por lo que este no es realmente el lugar para las conjeturas.
Dedique un tiempo a conocer C/C++, diseñe su aplicación sabiamente para que las partes que desea escribir en código nativo estén claramente definidas, y que no aumenten las posibilidades de que su aplicación falle. Supongo que la mayoría de los proyectos pueden prescindir de una parte de aplicación nativa, por lo que si la está usando y no sabe exactamente lo que está haciendo, realmente debería volver a evaluar si es lo correcto o no. no.
Si desea añadir una definición especial al compilar el código NDK (JNI) añadir lo siguiente en su Android.mk:
LOCAL_CFLAGS := -DMYDEFINE
Esto va a definir la macro MYDEFINE en su C/C++ código.Aquí un ejemplo
#ifdef MYDEFINE
// We build the project with this special macro
#else
// We build without setting the macro in the LOCAL_CFLAGS
#endif
¡Funciona perfectamente! ¡Gracias! – Loc
Agradable que funcionó: P Entonces podría aceptar la respuesta jeje: P – Moss
Aprende de mi error: no te pierdas el 'D' en' -DMYDEFINE' – codingFriend1
Si estamos hablando acerca de las macros makefile Android como
$ (llamar a mi-dir)
Es exactamente igual que la sintaxis makefile GNU
Por ejemplo:
inversa = $ (2) $ (1)
foo = $ (llamada inversa, a, b)
$ (advertencia $ (foo))
resultados :
ba
Para definir marcro:
LOCAL_CFLAGS += -DYOUR_MACRO
para definir macro con valor:
LOCAL_CFLAGS += -DYOUR_MACRO='"string"'
o
LOCAL_CFLAGS += -DYOUR_MACRO=123
personalmente, sugieren utilizar + = lugar de: = para evitar LOCAL_CFLAGS
habido sobrescrito
- 1. ¿Cómo agregar una vista personalizada al diseño?
- 2. anddroid ndk UnsatisfiedLinkError al usar una biblioteca compartida preconstruida
- 3. Cómo agregar una superposición personalizada uiimagepickerview
- 4. Problemas al agregar actividad personalizada a UIActivityController
- 5. ¿Puedo agregar a una macro de preprocesador?
- 6. ¿Cómo puedo agregar una identificación única a una celda personalizada?
- 7. Usar C con Android ndk
- 8. ¿Cómo usar pthreads con Android NDK?
- 9. ¿Cómo agregar una función 'submitHandler' al usar jQuery Unobtrusive Validation?
- 10. ¿Cómo agregar a una lista al usar Multi-Threading?
- 11. Agregar una página personalizada en spring roo
- 12. Agregar información adicional a una excepción personalizada
- 13. Cómo atrapar UnsatisifiedLinkError al usar la biblioteca NDK-built en una aplicación de Android?
- 14. Agregar una respuesta personalizada en Mac Spotlight
- 15. ¿Cómo agregar una "Etiqueta personalizada" a iOS AddressBook programmatically?
- 16. ¿Cómo agregar una fuente personalizada a la aplicación Rails?
- 17. ¿Cómo puedo usar BuildMessage en una BuildActivity personalizada?
- 18. Agregar una propiedad personalizada a Entity Framework?
- 19. WPF - Agregar fuente personalizada
- 20. ¿Cómo puedo usar JavaScript dentro de una macro de Excel?
- 21. Agregar un objeto a una matriz de una clase personalizada
- 22. Problema de variables macro al usar ejecutar llamada
- 23. ¿Cómo asignar propiedad personalizada al objeto jQuery?
- 24. ¿Cómo agregar una anotación personalizada a Spring MVC?
- 25. cómo agregar una imagen personalizada a un botón (dojo 1.7)
- 26. Cómo agregar una validación de modelo de Django personalizada
- 27. ¿Cómo agregar una ruta RESTful personalizada a la aplicación Rails?
- 28. cómo agregar vistas dentro de una vista personalizada?
- 29. previene agregar barras automáticamente al usar parse_str
- 30. Wix: Agregar al Listbox desde C++ Acción personalizada
Estoy haciendo una migración y soy un novato para Android, ¡gracias por su asesoramiento! – Loc
De acuerdo. Me gustaría agregar que si alguien decide mezclar Java y el código nativo para una aplicación de Android, trate de minimizar el cruce del límite de JNI. Es decir: minimice las llamadas JNI ya que son relativamente caras. Imho, cualquiera que se encuentre en una situación en la que las llamadas JNI de alta frecuencia no puedan evitarse debería considerar seriamente usar solo Java. Si no es por motivos de rendimiento, al menos para evitar dolores de cabeza inducidos por JNI. – pauluss86