|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
通常来讲,非常实用,不用模板创建的话,也可以直接复制粘贴进去使用哦!1 r8 |5 u. {& L6 _6 }( X p- ^: D
5 Q" ]0 z2 z4 C5 S. h- f( b. S
[mw_shl_code=c,true]) q' y/ t: h% I: G
#include <stdarg.h>& v; R1 F0 C% U
4 J2 J. k# n2 C' K8 C
static void ECHO(const char *format, ...)/ z, A, n! G* k+ G+ T3 D7 l9 s2 m
{. g6 F7 n0 v9 F1 ?
char msg[UF_UI_MAX_STRING_LEN+1];/ b& U! X8 F3 c& Z8 @
va_list args;+ e j0 w' ]# e2 Y& o/ v& ]
va_start(args, format);8 X6 p/ M6 Z3 m
vsnprintf(msg, sizeof(msg), format, args);5 N: P' F1 [# |/ V% `8 u
va_end(args);
6 X% p d) P8 y, A: n UF_UI_open_listing_window();
5 E2 i7 J6 A. [+ r$ `* O& { UF_UI_write_listing_window(msg);
0 Q" |( U: m; b, V$ v2 L' `0 G, ^ UF_print_syslog(msg, FALSE);$ P1 W9 l' d$ b+ W) e5 |
}
( O. {$ f# z! a& g3 V7 p! y9 E+ F. n k1 a; ] P. C+ F
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
% g0 K7 @: w1 P$ x7 A4 [9 Z7 G0 v) n- @4 C0 A) g! W* U* b* s5 h
static int report_error( const char *file, int line, const char *call, int irc)$ t- _7 v0 c# o; Z. z
{
4 l1 G* F) C) i. F0 q if (irc)
9 q5 U9 i% Q- z! A; q/ v {
9 J% q' z% ]1 j* a4 s7 A char err[133];0 G/ R; Z0 Q6 v+ o# H( ~- m
2 ~4 a# a) F" g. l UF_get_fail_message(irc, err);+ S! H: [ K# i& S" U8 k( o' q- {) P
ECHO("*** ERROR code %d at line %d in %s:\n",
1 I/ ?0 ^: b' \( h irc, line, file);
) |( X- e. s( L ECHO("+++ %s\n", err);4 u; S# u$ @6 h
ECHO("%s;\n", call);# o1 F/ j. Q3 D7 I4 l& Z
}5 L' y& |# ?& F! {
% _4 C" J" S! c. K5 F6 ^ return(irc);: P% c& J6 M9 j9 r0 j; C
}[/mw_shl_code]
' B! p) q9 j! v! Z3 P! l" v6 `- V$ O& p+ F/ S
|
|