|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
通常来讲,非常实用,不用模板创建的话,也可以直接复制粘贴进去使用哦!
; M7 U& d1 X2 R$ b! C4 J2 J
; v! c1 \% O; g3 q7 F[mw_shl_code=c,true]
5 I& h7 e+ [( ^1 X3 p Q# B#include <stdarg.h>: q0 B/ e7 K. c O8 @# [0 q
7 A. C" m& t0 S8 G3 g, R+ [0 q+ bstatic void ECHO(const char *format, ...)1 p( w1 ~. L3 H6 b2 q: s
{: z# W* F$ K, i9 q# `' {# o+ E1 {& @
char msg[UF_UI_MAX_STRING_LEN+1];
% w! p8 X: R% ~$ ?# s, q va_list args;; y2 `/ ]# C P! Y4 `0 U2 V7 x( R" U
va_start(args, format);
3 e a) q/ @$ v/ C6 } vsnprintf(msg, sizeof(msg), format, args);
) ?1 F6 p5 |: Z% S va_end(args);4 w" |# r+ B- D+ R
UF_UI_open_listing_window();; U9 N8 J3 f* W# f
UF_UI_write_listing_window(msg);) a5 ~6 P! z6 B% ^$ M0 }6 L, f
UF_print_syslog(msg, FALSE);; Y- p0 j! q O5 U( Q4 b7 A% C
}
+ K5 a+ u" A b& l) k* U& I. o6 e5 w* x' p* P+ f
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))$ o) Y+ H8 b( E" V4 u! v
! S( c5 F9 V% ?( W" ]3 x8 rstatic int report_error( const char *file, int line, const char *call, int irc)& J& l7 M$ T6 z) C' a9 S8 f, }9 d
{- o1 s6 B- i1 _+ u' S. ?' t* f/ d
if (irc)& b7 ~" N: S% @, ]0 o
{
8 \% q3 n) l, Y3 ?" D+ j% ]- m3 h7 m2 T char err[133];
2 [, m. v& h, Y9 y
' l# e( h5 \# v% o9 T UF_get_fail_message(irc, err);7 F! [ F) z' u, H& ?" [' O. b
ECHO("*** ERROR code %d at line %d in %s:\n",. `2 b$ Y2 E: ?2 G* l
irc, line, file);
0 M' J" t t6 c. L ECHO("+++ %s\n", err);
# C* d! n6 b, U# w- @1 W" U. z' } ECHO("%s;\n", call);; l& W, j, H3 i5 R) L* N' m1 O
}
6 r+ E8 A7 h2 E. c# r1 ]4 w% j* D3 X4 [& K9 p2 ?
return(irc);
1 p) I. e0 J7 h}[/mw_shl_code]
' z i4 |2 D, d& b& i, p
1 R/ `4 T& m; b u |
|