|
|
楼主 |
发表于 2013-12-3 20:59:25
|
显示全部楼层
: u0 A* v( H( o: F
- m! v0 k# L; s+ O1 C7 HOF类型的变量一定要通过MEM_free()进行释放1 A9 u4 J7 y8 S" P2 ~" n t7 L
void MEM_free(void *pointer) |' b/ s2 J- ^1 Z5 ^
, j2 X l, |& U! I! P; r1 a- o+ ^; {8 d2 k& z, V0 p
MEM_alloc() h$ p& s7 U4 u2 z( _! |! Y
MEM_crealloc()+ a1 v2 Y; |( ?- |- ]6 w! ]0 c9 o
MEM_free()
& [- `: x3 X7 H: R. Q- i0 v! tMEM_realloc()
2 `+ L) X* y& s/ _5 Q使用以上内存管理函数,也可以使用C内存管理函数
* U$ W% ], R2 u1 {Include file: <mem.h>
3 b* \: [9 G* Y% G0 }! h8 p8 h6 b' k! w# T" [; O
& o9 z1 J6 H0 z" a
函数返回值不为ITK_ok,则有错误发生,必须进行处理
: I* t0 Z' p' QEMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)
4 d7 G+ @1 o3 }7 l$ h* w( W6 E可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。
4 c4 z6 _+ Z* C6 `; y) z
) V8 \8 l$ `7 T# n: o) ]( o% _% t3 P3 @: Q5 n3 N5 R0 X" m V
7 E7 N, ^ u; A1 W4 R. Q
C, e- \) H q1 Z, A" ^( \# U- status = AOM_save( );! I2 `% J8 {) e6 ~% l5 r: h
- if (status != ITK_ok )
/ `$ V, L" G1 Y% ~# D1 M; M - {0 g& h5 j5 \5 z0 c
- EMH_ask_error_text(status, &message);- s/ s9 z, F) E
- printf("Error with AOM_save: %s\n", message);' G. L% Q' M+ p$ g) x% S; _
- MEM_free(message);. P2 [, g l5 y l; t& x1 r
- return status;) x% i4 A, w% w
- }% P! N3 ?2 r5 p
复制代码- status = AOM_save( fl_tag );
l7 M5 E \" V3 R$ q R - if (status != ITK_ok )
" A7 i* i- V& C - {
Q/ H5 C; |* E- L/ Y - EMH_ask_errors(&n_errors, &severities, &statuses, &messages);
1 U$ R- Z5 \1 e8 c! v - for (i = 0; i < n_errors; i++)
* ?! t3 j5 `: n, b3 a2 p - {0 J/ c% A g, ^( M
- printf( " %6d: %s\n", statuses[i], messages[i] );
- P7 f( j; h% X" ` J0 U7 R' \/ j - }
: P. U6 V6 P+ l9 g - return status;3 ]2 F" |1 A. K! R b$ |" D* `- q" ^2 e
- }
# t+ m& V. q( _
复制代码 ( D5 w2 s/ B: Q3 b
4 \* c) w, L; D5 W
3 M7 Q `& W% ?. L1 M6 B$ K |
|