picox
0.1
|
デバッグログやassert等の機能を提供します [詳解]
![]() |
型定義 | |
typedef void(* | XAssertionFailedFunc) (const char *expr, const char *msg, const char *func, const char *file, int line) |
アサーションに失敗した時に呼び出される関数のポインタ型です [詳解] | |
関数 | |
void | x_hexdump (const void *src, size_t len, size_t cols) |
int | x_set_log_level (int level) |
変数 | |
XAssertionFailedFunc | x_assertion_failed |
アサーション失敗時に呼びされる関数のポインタです [詳解] | |
XAssertionFailedFunc | x_post_assertion_failed |
x_assertion_failedの呼び出し後に呼びされる関数のポインタです [詳解] | |
XAssertionFailedFunc | x_pre_assertion_failed |
x_assertion_failedの呼び出し前に呼びされる関数のポインタです [詳解] | |
log_levels | |
ANSIカラー でログヘッダに色付けをし、ログレベルを視覚的に見やすくします。 | |
#define | X_LOG_LEVEL_ERR (1) /* error */ |
#define | X_LOG_LEVEL_WARN (2) /* warning */ |
#define | X_LOG_LEVEL_NOTI (3) /* notice */ |
#define | X_LOG_LEVEL_INFO (4) /* infomation */ |
#define | X_LOG_LEVEL_VERB (5) /* verbose */ |
#define | X_LOG_LEVEL X_CONF_LOG_LEVEL |
#define | X_ANSI_COLOR_BLACK "\x1b[1;30m" |
#define | X_ANSI_COLOR_RED "\x1b[1;31m" |
#define | X_ANSI_COLOR_GREEN "\x1b[1;32m" |
#define | X_ANSI_COLOR_YELLOW "\x1b[1;33m" |
#define | X_ANSI_COLOR_BLUE "\x1b[1;34m" |
#define | X_ANSI_COLOR_MAGENTA "\x1b[1;35m" |
#define | X_ANSI_COLOR_CYAN "\x1b[1;36m" |
#define | X_ANSI_COLOR_WHITE "\x1b[1;37m" |
#define | X_ANSI_COLOR_RESET "\x1b[0m" |
#define | X_COLOR_BLACK |
#define | X_COLOR_RED |
#define | X_COLOR_GREEN |
#define | X_COLOR_YELLOW |
#define | X_COLOR_BLUE |
#define | X_COLOR_MAGENTA |
#define | X_COLOR_CYAN |
#define | X_COLOR_WHITE |
#define | X_COLOR_RESET |
assertions | |
#define | X_DEFAULT_ASSERT(expr) X_DEFAULT_ASSERT_MSG(expr, NULL) |
picoxデフォルトのアサートです | |
#define | X_DEFAULT_ASSERT_MSG(expr, msg) ((expr) ? (void)0 : x_assertion_failed(#expr, msg, X_FUNC, __FILE__, __LINE__)) |
追加メッセージを指定可能なアサートです | |
#define | X_ASSERT(expr) X_DEFAULT_ASSERT(expr) |
#define | X_ASSERT_MSG(expr, msg) X_DEFAULT_ASSERT_MSG(expr, msg) |
#define | X_ASSERT_SELF(expr) (void)0 |
クラス指向モジュールの第一引数のNULLチェック用アサートです | |
#define | X_ASSERT_ARG(expr) (void)0 |
引数の範囲チェック等のためのアサートです | |
#define | X_ASSERT_NULL(expr) (void)0 |
引数のNULLチェック用のアサートです | |
#define | X_ASSERT_TAG(expr) (void)0 |
規定のタグがセットされているかの検査用アサートです | |
#define | X_ASSERT_ENUM(expr) (void)0 |
不正な列挙値が指定されていないかの検査用アサートです | |
#define | X_ASSERT_MALLOC_NULL(expr) (void)0 |
動的メモリ確保のNULL検査用アサートです | |
#define | X_ABORT(msg) X_ASSERT_MSG(0, msg) |
プログラムの実行を強制停止します | |
#define | X_ABORT_DEFAULT default: X_ABORT("Runtime error"); break |
switch文でdefaultの時にX_ABORT()を呼び出します | |
#define | X_EXIT(return_code) X_ABORT("exit:" #return_code) |
プログラムの実行を強制停止します | |
log_headers | |
#define | X_VERB_COLOR "" |
#define | X_INFO_COLOR X_COLOR_GREEN |
#define | X_NOTI_COLOR X_COLOR_MAGENTA |
#define | X_WARN_COLOR X_COLOR_YELLOW |
#define | X_ERR_COLOR X_COLOR_RED |
#define | X_VERB_HEADER X_VERB_COLOR X_CONF_VERB_HEADER X_COLOR_RESET |
#define | X_INFO_HEADER X_INFO_COLOR X_CONF_INFO_HEADER X_COLOR_RESET |
#define | X_NOTI_HEADER X_NOTI_COLOR X_CONF_NOTI_HEADER X_COLOR_RESET |
#define | X_WARN_HEADER X_WARN_COLOR X_CONF_WARN_HEADER X_COLOR_RESET |
#define | X_ERR_HEADER X_ERR_COLOR X_CONF_ERR_HEADER X_COLOR_RESET |
デバッグログやassert等の機能を提供します
typedef void(* XAssertionFailedFunc) (const char *expr, const char *msg, const char *func, const char *file, int line) |
アサーションに失敗した時に呼び出される関数のポインタ型です
expr | アサーションの式(expression) |
msg | 追加メッセージ |
func | アサーションを行った関数名 |
file | アサーションを行ったソースファイル名 |
line | アサーションを行ったソースファイルの行番号 |
XAssertionFailedFunc x_assertion_failed |
アサーション失敗時に呼びされる関数のポインタです
アサーション失敗時の処理を独自に行いたいときに設定してください。
XAssertionFailedFunc x_post_assertion_failed |
x_assertion_failedの呼び出し後に呼びされる関数のポインタです
アサーション失敗時にx_assertion_failedの呼び出し後に何か処理を行いたいときに 使用します。
[例]
XAssertionFailedFunc x_pre_assertion_failed |
x_assertion_failedの呼び出し前に呼びされる関数のポインタです
アサーション失敗時にx_assertion_failedの呼び出し前に何か処理を行いたいときに 使用します。