您好,登錄后才能下訂單哦!
/* *Author : DavidLin *Date : 2014-12-26pm *Email : linpeng1577@163.com or linpeng1577@gmail.com *world : the city of SZ, in China *Ver : 000.000.001 *For : threads for rxtx! *history : editor time do * 1)LinPeng 2014-12-26 created this file! * 2) */ /* assert_self.h */ #ifndef __ASSERT_SELF_H__ #define __ASSERT_SELF_H__ #include<stdio.h> #define ASSERT_ENABLE (1) #define xprintf printf /* xprintf can be tty print or uart print, etc */ #if ASSERT_ENABLE #define assert_error() \ do \ { \ xprintf("[ERROR] Assert FILE: %s: LINE %d\n", __FILE__, __LINE__); \ }while(0) #define ASSERT1(para) \ do \ { \ if(!para) \ { \ assert_error(); \ } \ }while(0) \ #else /* if ! ASSERT_ENABLE */ #define ASSERT1(para) \ do \ { \ if(para) \ { \ } \ }while(0) #endif /* end of ASSERT_ENABLE */ #endif /* end of __ASSERT_SELF_H__*/
測試用例
/* test case : test.c */ #include<stdio.h> #include"assert_self.h" int main(int argc, char* argv[]) { switch(argc) { case 2: ASSERT1(atoi(argv[1])); break; default: printf("ARG ACCEPT 1\n"); break; } exit(0); }
軟件Bug定位,很多時候,比如利用Assert宏,可以把48小時的調試大餐壓縮成1口可以吃掉的飯后甜點,每個軟件小組都在重新演化,過去的經驗總是得不到很好的傳承,這就是我們!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。