linux下 C語言除錯之道 WRITE_LOG
阿新 • • 發佈:2019-01-29
Linux下面c語言的除錯很讓人頭疼,一般過一段程式碼就要printf一下或是寫個函式輸出,然後今天看到大牛程式碼裡的一個巨集特別簡練易用,所以收藏一下。
#define WRITE_LOG(FORMAT, ...){ \ do{ \ FILE* fp = fopen(LOG_FILE, "a"); \ struct tm* pt; \ time_t time_now; \ struct timeval tv; \ gettimeofday(&tv, NULL); \ time(&time_now); \ pt = localtime(&(tv.tv_sec)); \ fprintf(fp, "%04d-%02d-%02d %02d:%02d:%02d.%03u "FORMAT"\n", \ pt->tm_year+1900, \ pt->tm_mon+1, \ pt->tm_mday, \ pt->tm_hour, \ pt->tm_min, \ pt->tm_sec, \ (u32)(tv.tv_usec)/1000, \ ##__VA_ARGS__); \ fclose(fp); \ }while(0); \ }