Android NDK :在 C語言代碼中輸出Log

Android NDK :在 C語言代碼中輸出Log
本篇文章來源於 Linux公社網站(www.linuxidc.com)  原文連接:http://www.linuxidc.com/Linux/2012-07/66106.htmAndroid NDK 開發時,想要在 .c 文件中打印一些調試信息的話,是不能使用 printf() 方法的,NDK 根本不支持,就算寫了,在 linux

LogCat 中也不會顯示,正確的方式應該是 調用NDK 下的log.h 來打印Log 日誌,具體方法以下: android

1. 導入log頭文件:在你使用的 .c/ .cpp 文件中,導入 log.h 頭文件: #include<android/log.h> 函數

2. 定義LOG 函數:先定義一個全局變量,再定義一些輸出的LOG函數:
1.#define LOG    "ffmpegDemo-jni" // 這個是自定義的LOG的標識 
2.#define LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,LOG,__VA_ARGS__) // 定義LOGD類型 
3.#define LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG,__VA_ARGS__) // 定義LOGI類型 
4.#define LOGW(...)  __android_log_print(ANDROID_LOG_WARN,LOG,__VA_ARGS__) // 定義LOGW類型 
5.#define LOGE(...)  __android_log_print(ANDROID_LOG_ERROR,LOG,__VA_ARGS__) // 定義LOGE類型 
6.#define LOGF(...)  __android_log_print(ANDROID_LOG_FATAL,LOG,__VA_ARGS__) // 定義LOGF類型 
網站

上述代碼中定義的函數,分別對應於Android 的Java代碼中的 Log.d(), Log.i(), Log.w(),Log.e(), Log.f()等方法; spa

3. 使用上述方法:在.c 代碼中直接按照一下方式書寫:
1.LOGD(LOG, "這是Debug的信息"); 
2.LOGE(LOG, "程序錯誤!!!"); 
調試

除此以外,更能夠給在打印時帶上一些變量:
1.int width=10; 
2.int height=20; 
3.LOGI(LOG, "長和寬分別爲 %d ,%d「,width,height); 
日誌

這種方式更加靈活,很是相似於 C語言中的 printf()函數。 htm

全文結束,但願能給你們一些幫助~ 開發

本篇文章來源於 Linux公社網站(www.linuxidc.com)  原文連接:http://www.linuxidc.com/Linux/2012-07/66106.htm get

相關文章
相關標籤/搜索