No soy muy fuerte en C, pero estoy trabajando con el NDK en este momento y necesito ayuda para registrar la dirección de una variable en hexadecimal. He estado usando __android_log_print
para imprimir mensajes de registro genéricos, pero ¿cómo le digo a C que convierta la dirección de una variable en una matriz de caracteres?Cómo imprimir/registrar la dirección de una variable en NDK
5
A
Respuesta
7
Nunca trabajé con Android NDK, pero supongo que __android_log_print
funciona con caracteres de formato printf. En ese caso, puede usar %p
.
Digamos que tenemos una variable int a = 10;
. Para imprimir su dirección:
printf("%p\n", &a); //This will print in hexadecimal
EDITAR:
respuesta aceptada:
__android_log_print(SOME_PRIO, "sometag", "%p", &a);
2
trabajo con Android NDK muchas veces y he tratado antes de su uso Logcat nativa.
__android_log_print(6, "deneme", "text"); -> this is error message
typedef enum android_LogPriority {
ANDROID_LOG_UNKNOWN = 0,
ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
ANDROID_LOG_SILENT, /* only for SetMinPriority(); must be last */
} android_LogPriority;
y de incluir un encabezado en los archivos de origen c
#include <jni.h>
#include <android/log.h>
de makefile parecerse
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := deneme-jni
LOCAL_SRC_FILES := deneme.c
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
Cuestiones relacionadas
- 1. dirección C de una dirección de una variable
- 2. ¿Cómo puedo imprimir la dirección de memoria de una variable?
- 3. Conozca la dirección de una variable en Visual Studio
- 4. Cómo establecer la variable GNUMAKE para que ndk-build funcione
- 5. ¿Cómo poner una variable en una dirección absoluta dada en la memoria (con GCC)
- 6. Variable de dirección fija en C
- 7. ¿Cómo encontrar la dirección física de una variable del espacio de usuario en Linux?
- 8. Cómo dar salida a contenido variable en la ventana "LogCat" en Android-ndk
- 9. Verificando si una variable POST [] es una dirección IP?
- 10. ¿Por qué la dirección de la variable cambia entre ejecuciones?
- 11. ¿Cómo puedo obtener la dirección de memoria de una variable de JavaScript?
- 12. Cómo imprimir la dirección de una función?
- 13. ¿es posible obtener la dirección en el montón de una variable en Java?
- 14. SIGILL en Android Código NDK
- 15. Dirección de devolución de variable local en C
- 16. La forma más portable y confiable de obtener la dirección de la variable en C++
- 17. Cómo atrapar UnsatisifiedLinkError al usar la biblioteca NDK-built en una aplicación de Android?
- 18. ¿Cómo puedo obtener la dirección de una estructura en C?
- 19. cómo ver la dirección de una estructura en printf
- 20. Cómo obtener la dirección IPv6 de una interfaz en Linux
- 21. Cómo obtener la dirección IP de una máquina en C#
- 22. cómo compilar/compilar la aplicación ndk?
- 23. Ndk-cygwin problemas específicos de la ruta
- 24. Cómo observa una variable en pdb
- 25. Dirección en variable PHP, incrustación en Google Maps sin Javascript?
- 26. ¿Cómo funciona una variable en C/C++?
- 27. ¿Cómo puedo convertir la dirección IPV6 a la dirección IPV4?
- 28. cómo modelar una dirección postal
- 29. ¿Hay alguna forma de encontrar la dirección de una referencia?
- 30. ¿Cómo usar una dirección lógica en gdb?
Sí, pero '__android_log_print' no tiene formato, como' printf' hace, por lo que necesita convertir realmente una dirección a cadena antes de pasarla a esta función. – Phonon
Bien, eché un vistazo rápido a la documentación y pensé que se podía hacer algo como '' __android_log_print (SOME_PRIO, "sometag", "% p", &a); '', perdón entonces. – Fred
No tengo idea de cómo me lo perdí. Thanks =) – Phonon