Cómo imprimir / registrar la dirección de una variable en NDK
No soy muy fuerte en C, pero estoy trabajando con el NDK ahora mismo 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 puedo decir C para convertir la dirección de una variable a una matriz de char?
- No Commons Iniciar sesión en Android?
- Android: Cómo capturar o redirigir los registros de LogCat a un archivo mediante ECLIPSE IDE
- Android: ¿cómo funciona la aplicación Application Protector?
- Android: establece la longitud máxima de los mensajes de logcat
- Redireccionar Salida de registro a sdcard en el teléfono del cliente
- ¿Cómo deshabilitar algunas funciones de registro al crear una aplicación de Android?
- Aplicación para Android que usa android.permission.READ_LOGS - ¿es eso descortés?
- Registro personalizado para la aplicación de Android
- Registro de escritura de Android en el archivo
- ¿Cómo guarda un registro de aplicación de Android en un archivo de un dispositivo físico?
- Niveles de registro de Android
- App: el tema ya está obsoleto. Pase por usar android: tema en su lugar
- Escribir datos de logcat de android en un archivo
Nunca trabajé con android NDK, pero estoy asumiendo __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
EDIT :
Respuesta aceptada:
__android_log_print(SOME_PRIO, "sometag", "%p", &a);
Trabajo con Android NDK muchas veces y he intentado antes de usar logcat nativo.
__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 que incluir encabezado en c archivos de origen
#include <jni.h> #include <android/log.h>
Que makefile parece
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := deneme-jni LOCAL_SRC_FILES := deneme.c LOCAL_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY)
- Cordova File plugin nunca llega a estar listo en Android
- Diálogo de alerta de Android con un fondo adicional