#include "aliceml_config.h"#include "aliceml.h"#include "aliceml_array.h"#include "aliceml_hash.h"#include "aliceml_string.h"#include "aliceml_font.h"#include "aliceml_context.h"#include "aliceml_command.h"#include "aliceml_surface.h"マクロ定義 | |
| #define | ML_Checkup(exp, result) do { assert(exp); if(!(exp)) return (result); } while(0) |
| プログラムのエラーチェックは 1) デバッグ時はなるべく早くエラーを検出 2) リリース時はなるべくエラーを出さずにプログラムを動かしたい と、デバッグ・リリース時で求められるものが微妙に変わってきます。 | |
| #define | ML_Checkupv(exp) do { assert(exp); if(!(exp)) return; } while(0) |
| #define | foreach_command_list(message, it) |
| 表示コマンドを巡回するのに使います。 | |
関数 | |
| int ALICEMLCALL | ML_trace (const char *format,...) |
| トレース情報を出力します。 | |
| int ALICEMLCALL | ML_trace_create (const char *type, void *ptr) |
| オブジェクトの作成情報を出力します。 | |
| int ALICEMLCALL | ML_trace_destroy (const char *type, void *ptr) |
| オブジェクトの破棄情報を出力します。 | |
| #define foreach_command_list | ( | message, | |||
| it | ) |
値:
for (it = ML_CommandList_GetCurrentBegin((message)->command_list); \ !ML_CommandListIt_IsEqual((it), ML_CommandList_GetCurrentEnd((message)->command_list)); \ it = ML_CommandListIt_Next(it))
| #define ML_Checkup | ( | exp, | |||
| result | ) | do { assert(exp); if(!(exp)) return (result); } while(0) |
プログラムのエラーチェックは 1) デバッグ時はなるべく早くエラーを検出 2) リリース時はなるべくエラーを出さずにプログラムを動かしたい と、デバッグ・リリース時で求められるものが微妙に変わってきます。
そのためこのマクロでは、 デバッグ時は条件が偽ならすぐさまアサート、 リリース時には条件が偽でも関数からのリターンを行うのみ、 といった挙動をとります。
| exp | 真偽を判定するための条件です。これは1〜2回判定される可能性があります。 | |
| result | 条件が偽の場合の戻り値です。 |
| #define ML_Checkupv | ( | exp | ) | do { assert(exp); if(!(exp)) return; } while(0) |
| int ALICEMLCALL ML_trace | ( | const char * | format, | |
| ... | ||||
| ) |
トレース情報を出力します。
| int ALICEMLCALL ML_trace_create | ( | const char * | type, | |
| void * | ptr | |||
| ) |
オブジェクトの作成情報を出力します。
| int ALICEMLCALL ML_trace_destroy | ( | const char * | type, | |
| void * | ptr | |||
| ) |
オブジェクトの破棄情報を出力します。
1.4.7