|
admin
发表于 2013-12-3 20:59:25
- s; v, Z: h% Y1 {! L, I
* W1 j; C/ |3 a [OF类型的变量一定要通过MEM_free()进行释放
; D. Y2 _! v, S9 D* \6 evoid MEM_free(void *pointer)- j6 y0 ?3 z1 d* P# m
1 B0 m, V; i/ ]1 z
; E; O5 B3 z4 U8 u! K% B& XMEM_alloc()
( q; I8 D, t6 u QMEM_crealloc()+ M0 P9 B3 Y' V' s: h* _
MEM_free()
6 P+ R6 D( R. @) V9 C2 S4 D; |MEM_realloc()
6 @& p; Z+ p; C+ ?9 o8 F使用以上内存管理函数,也可以使用C内存管理函数
" `% U9 N; V* {$ v; B- rInclude file: <mem.h>
9 T/ Y* w% B% z3 U) G0 ^3 M: Q8 b5 }5 e. _
9 N' q/ A; V$ R# S3 J4 e- @函数返回值不为ITK_ok,则有错误发生,必须进行处理
4 C9 M4 W/ |. n+ AEMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)/ W0 h( m( o' r: q: p- \. `
可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。$ y! j. X t( T1 V0 _
: n `, m: G8 c9 x3 P* S& t0 l
1 v2 ~9 X9 d$ f! I4 K3 b$ Q4 H
8 n; ~) l. W% p1 [
; w, U$ C( O& i- status = AOM_save( );/ n* M6 a4 W$ g( J& Z+ D
- if (status != ITK_ok )
" ]/ ^ l: v4 {8 _' D J - {
! I- h% s% _! v8 _" Q - EMH_ask_error_text(status, &message);( ?3 n/ d2 b0 Q8 x
- printf("Error with AOM_save: %s\n", message);
9 A o' k% O$ E, q9 v - MEM_free(message);
) q. Y0 Z, O+ y - return status;6 x1 S: |, ~$ V! _ V0 ~; o
- }
( u0 _- {3 M- N8 P
复制代码- status = AOM_save( fl_tag );; h, k0 o% c# I& ?8 g+ g5 s/ ?
- if (status != ITK_ok )
3 x# c0 S& y3 g# P% T8 Z5 F s - {6 u. |" G2 _! ?. \- O. g
- EMH_ask_errors(&n_errors, &severities, &statuses, &messages);
4 g1 ?& ~* s( D P* B0 h z - for (i = 0; i < n_errors; i++)
w6 {0 h$ g u5 J - {
2 c+ y; ?# S6 `6 k, B; D - printf( " %6d: %s\n", statuses[i], messages[i] );$ O' r# V$ u7 X+ {; p2 y
- }+ o' j: P. i. T4 y6 C9 R
- return status;
* s& y( ]3 `% O - }
7 M% r ]- T+ h5 H6 G
复制代码
7 V8 l4 s8 Q# @: G" i" c/ W
& O3 a( U- |- @* A4 s+ ~
h% n4 H' | R- F. D! @: K. d1 |1 I |
|