|
|
admin
发表于 2013-12-3 20:59:25
( W# V0 O% q# R" i* |% N i& ~
8 @! f/ i& T8 J, j8 ]) P7 t
OF类型的变量一定要通过MEM_free()进行释放- s$ d$ K. P6 V; I
void MEM_free(void *pointer)! K2 }3 W4 A8 M" b2 j
# i" a/ |; \! ?7 I" S
/ J8 w7 B6 p7 FMEM_alloc()6 {: c9 B7 G8 f7 p) e0 x$ U t
MEM_crealloc()! ^7 a( x! I2 W9 n
MEM_free()4 s8 P. L9 _6 d
MEM_realloc()6 I1 n3 c% X% k4 F% W
使用以上内存管理函数,也可以使用C内存管理函数6 w; S2 _' G. @1 U
Include file: <mem.h>
3 x4 ]7 r8 n6 p# \6 k; ~' r- s) {; v. z) J! S/ E* L
% P* T7 k6 U* T# J! C函数返回值不为ITK_ok,则有错误发生,必须进行处理
: e2 j8 P4 }9 q2 s, x! c gEMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)" |" D3 o& r1 Z/ o2 A2 v4 o: J
可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。1 k) I: Y7 k3 J$ F* o( a' o* U! s3 X
$ a E4 U. h* g; C
9 a) W, W" p2 H. u$ v5 A8 J# y, L0 @. i9 T5 k% B2 Q$ \; r
H% S7 v2 Z, M1 [
- status = AOM_save( );
. g& {! l2 y. G# G6 [- R8 K - if (status != ITK_ok )
, k! X: g' F; T4 Q" x* @ - {+ Z+ ^( w4 J. I7 V! u/ P; [2 |
- EMH_ask_error_text(status, &message);" B; v) C# T4 ]1 Q
- printf("Error with AOM_save: %s\n", message);
. C7 _: w _- o J( a - MEM_free(message);
2 u, T7 D$ T% ~: t) M - return status;1 a; R: @# w; G+ G
- }5 N! h7 D# Q$ r g9 U/ t3 C
复制代码- status = AOM_save( fl_tag );
6 H2 M" W! f4 y+ P7 [: H. [) N3 D. A( f - if (status != ITK_ok )
* M: q0 ~: X6 R) }; r5 Q - {" A$ u' m7 s" [' F* l
- EMH_ask_errors(&n_errors, &severities, &statuses, &messages);
1 Q2 F; h3 C% }4 R( ^% M8 h: |; a - for (i = 0; i < n_errors; i++)
' Y1 t+ w) j2 D- K- ~5 b8 o - {
n& I+ ?( E/ s6 W+ ]( ] - printf( " %6d: %s\n", statuses[i], messages[i] );
% b2 J$ @# Z9 _) s4 H+ @* q - }& W: r3 n+ H' i( B ^# H
- return status;! w7 u# G; n; F& I* h& F
- } c' s2 p: {9 _2 D8 m. l( b+ i
复制代码 s& s( m# t6 v) V/ D/ N3 c/ |# I/ {
/ E0 r; h0 ~0 }7 q% E$ A) n- f! Z& x3 a, w. Y# Q
|
|