Android 在C代碼中調用logcat,androidlogcat
本文給《Android java傳遞int類型數組給C》中添加C代碼中調用logcat的功能
Android.mk檔案增加以下內容
LOCAL_LDLIBS += -llog
C代碼中增加以下內容
#include <android/log.h>#define LOG_TAG "System.out"#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
define C的宏定義 起別名 #define LOG_TAG "System.out" 給"System.out"起別名LOG_TAG
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
給 __android_log_print函數起別名 寫死了前兩個參數 第一個參數 優先順序 第二個參數TAG __VA_ARGS__ 可變參數的固定寫法
LOGI(...)在調用的時候 用法跟printf()一樣
JNICALL Java_com_wuyudong_javapassdata_JNI_arrElementsIncrease( JNIEnv * env, jobject clazz, jintArray jArray){ jsize len = (*env)->GetArrayLength(env, jArray); LOGD("length = %d", len); // jboolean iscopy; int* arrayPointer = (*env)->GetIntArrayElements(env, jArray, NULL); int i; for(i = 0; i < len; i++){ *(arrayPointer + i) += 10; } return jArray; }
擷取更多C語言與演算法相關知識,關注公眾號:“csuanfa”