2012年5月22日 星期二

C語言 - assert()

#include "assert.h"  /* include .h file */

void assert(int expression);
主要是用來除錯。在這個macro中當expression為FALSE的時候就直接結束程式,並且輸出一些必要的資訊 /* 輸出哪些資訊可以參考Reference */ 而這應該大多都用只是純粹RD內部開發code時debug用。

如果今天不想要release的code會因為觸發assert()莫名錯誤而dump出些莫名資訊給客戶,就只要在include "assert.h"之前加上#define NDEBUG就好,compile的時候就會略過assert() [2]


References:
[1] http://www.cplusplus.com/reference/clibrary/cassert/assert/
[2] http://en.cppreference.com/w/cpp/error/assert
[3] http://guguclock.blogspot.com/2008/09/assert.html

沒有留言:

張貼留言