-1
我在使用beaglebone的prussdrv庫(http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader_API_Guide)在C++中編寫程序,在我的代碼中導入prussdrv.h,以便我可以使用它定義的所有函數。爲庫激活調試
但是,一些函數調用返回-1,我想知道確切的問題。
if (fPtr == NULL) {
DEBUG_PRINTF("File %s open failed\n", filename);
return -1;
} else {
DEBUG_PRINTF("File %s open passed\n", filename);
}
那些DEBUG_PRINTF聲明可以通過一個printf代替通過定義__DEBUG宏:
#ifdef __DEBUG
#define DEBUG_PRINTF(FORMAT, ...) fprintf(stderr, FORMAT, ## __VA_ARGS__)
#else
#define DEBUG_PRINTF(FORMAT, ...)
#endif
返回-1時看到的源代碼(
https://github.com/beagleboard/am335x_pru_package/blob/master/pru_sw/app_loader/interface/prussdrv.c)我發現有很多電話打印的東西到stderr
但是,不清楚如何定義它來啓用調試。我試着用-D__DEBUG標誌編譯我的代碼,但它沒有工作。它應該嗎?如果我在我的機器上搜索源文件並更改它,只需要離開#define,它會起作用嗎?爲導入的庫啓用調試的正確方法是什麼? 謝謝!