|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
通常来讲,非常实用,不用模板创建的话,也可以直接复制粘贴进去使用哦!3 q% H% A# E1 ~' f) V
5 e4 _. Z, h5 {- s: }" Q6 H7 V Z[mw_shl_code=c,true]
6 H- o t$ T/ O8 n- i9 J#include <stdarg.h>7 E5 |5 [' M8 K( n7 A t
% O* o d3 G4 R, p) i- y) T1 e
static void ECHO(const char *format, ...)
* Y& T8 I8 ?) O) \8 i1 _{1 v8 I7 b' j5 T: |0 G) I5 {
char msg[UF_UI_MAX_STRING_LEN+1];
3 w3 X% s( @. h: C% q! ?; Z va_list args;6 r0 V) X+ E: e; X
va_start(args, format);
4 v, A9 ^5 Z: C2 k: M vsnprintf(msg, sizeof(msg), format, args);
: B: \1 y9 n1 D6 N* ?9 y' \. l. I( ] va_end(args);
" O+ Z7 c# F/ T4 B. Q UF_UI_open_listing_window();0 L7 _' a) Y2 ]. R5 z& x- m+ M
UF_UI_write_listing_window(msg);. [7 v1 f! q3 g m$ I
UF_print_syslog(msg, FALSE);
& _1 H) m- K; R}
% o# Q" X: J8 @9 C2 a9 A2 {+ @: N7 W2 r7 L4 H* b
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))) f, Q ? i& C8 v
3 I; z/ Y% O; T* z
static int report_error( const char *file, int line, const char *call, int irc)/ R4 f8 y% B H, z2 W
{
; S Y, G2 ], k* H$ Z if (irc)" r% B4 I9 t% C/ g
{
3 M2 C1 F3 ?( k3 N1 E3 F U5 f char err[133];7 m1 Y/ Q! d" \: ^' t7 M1 Z2 A* c
/ c! T% A' U* f& c; Y( x UF_get_fail_message(irc, err);
! n! E- S* ~5 f) b4 ]3 X ECHO("*** ERROR code %d at line %d in %s:\n",! S, O% d/ q, z1 H6 o3 p
irc, line, file);9 R& L5 R! r% B. _* O- u, D
ECHO("+++ %s\n", err);. ~" q' y3 M4 z) }% m
ECHO("%s;\n", call);+ `# C1 n/ V! a* `- H" Q9 Z
}/ z! F, e7 C( v/ K# n9 {
- C/ j" A3 w8 j" A& @/ S! Y
return(irc);& M P) u1 A) o6 r1 Q5 c
}[/mw_shl_code]
* k# m5 b* } x7 V% U g$ Q0 N. T' ?. |3 v8 B
|
|