|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
通常来讲,非常实用,不用模板创建的话,也可以直接复制粘贴进去使用哦!
: R8 G5 o+ S) U8 N# g: j
4 T5 q/ L2 G& @* k+ i[mw_shl_code=c,true]! B8 P$ a7 e. T2 `* y
#include <stdarg.h>
9 Y4 R& D6 L7 N) {
; v; L2 V0 M1 istatic void ECHO(const char *format, ...). B8 T0 c. W |3 A* D" j6 k i
{' g. ] g1 Y, I6 _$ J0 o
char msg[UF_UI_MAX_STRING_LEN+1];! ^3 H# B! K" F- x N; d/ M
va_list args;3 L" [- v- ~1 J3 a& T: `
va_start(args, format);# N/ _! z2 y4 p) ~) m) y4 X
vsnprintf(msg, sizeof(msg), format, args);$ O4 p! P1 `3 A& Z# }
va_end(args);
/ p6 ^9 ^/ @% w/ L UF_UI_open_listing_window();
# J' m6 h# ?" W3 a8 C2 x UF_UI_write_listing_window(msg);
( o3 ]8 i3 ?& X) g# R6 B, f UF_print_syslog(msg, FALSE);
3 H) \% O8 l( b}
1 s5 N6 B8 b% F/ e$ i4 r/ [( h: C$ w I
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))% s; h8 z4 D, U1 B
9 q, y& N4 h$ h/ `/ sstatic int report_error( const char *file, int line, const char *call, int irc). h8 b' i0 M+ A- M) k: Y
{, K" W, d" m2 G7 ?6 h# \7 C
if (irc)* {8 W+ r0 M+ p5 N0 g# {9 v
{
3 \: q3 @7 V1 m( U* h char err[133];
9 F) U' i1 r: d# q
5 p, G$ ^+ d3 e, h6 n2 O: Y UF_get_fail_message(irc, err);0 v6 I8 {0 a8 V/ r* w H2 ]
ECHO("*** ERROR code %d at line %d in %s:\n",) p" w7 X" [% Q* d. K/ Q
irc, line, file);) I3 }! s4 B6 Y% J: _
ECHO("+++ %s\n", err);
' g" h! X, X4 ]) { ECHO("%s;\n", call);
8 C% w9 q& v1 `" H! _ }
: B m+ @ l7 r+ J8 Q
5 m7 Q9 S3 b( n! ]) i return(irc);
\4 [& C, }' v, A# i3 T6 r}[/mw_shl_code]
* Q9 p& J4 ^7 F" _! n5 [. Z2 I* x0 M& ^. j5 M* R( j
|
|