|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
通常来讲,非常实用,不用模板创建的话,也可以直接复制粘贴进去使用哦!
) v9 @1 r' c2 E3 K! Q- b3 G, b
$ Z- d/ E4 j, y9 m* q$ v% X[mw_shl_code=c,true]& ~: w3 d# ` i4 u, w) h" Y# C
#include <stdarg.h>+ Z- M+ {9 A- E# G$ l
7 V: Y" y6 @% ^/ {
static void ECHO(const char *format, ...)+ E1 d3 v# w) f2 @, O; C F
{
' M" |% b% N! `) q! Q, E char msg[UF_UI_MAX_STRING_LEN+1];' I/ g% ?# T; ` o. f+ k' |2 {
va_list args;- w; G7 g$ c& s8 s& v( U& @
va_start(args, format);- u. x6 X2 V" G' Q/ U7 [
vsnprintf(msg, sizeof(msg), format, args);
, o g& P9 l- ?# Q [ v% M3 v. b va_end(args);. `3 Z$ K; ?0 P& {: A
UF_UI_open_listing_window();
1 g# B m& J' O6 X3 g6 C) a UF_UI_write_listing_window(msg);: Y# Q" y2 t) }$ i
UF_print_syslog(msg, FALSE);
5 a$ S- }/ b1 o: [}
R" \/ [' Q. I/ @4 y
; ]3 R2 a! A2 Q; h. [" ~#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))# S @& b8 x7 a% S; |8 A7 q' L
2 E$ K3 v$ y6 [9 T$ l0 _static int report_error( const char *file, int line, const char *call, int irc)
5 [5 h) `' ^" e! [* ?{
9 |1 V7 T1 r2 o if (irc)
3 U+ P6 ~; P/ d7 b' z3 r {
T2 ^( C9 Y( X- P char err[133];* D, |6 u' ~* R. ^9 _
( {: s ]3 k% k
UF_get_fail_message(irc, err);
( _ w2 v! y5 r; z4 C ECHO("*** ERROR code %d at line %d in %s:\n",3 Y4 k" p( w$ ~# G
irc, line, file);8 x' }& O X- Y* Y
ECHO("+++ %s\n", err);! c5 n) H; Z0 P. R2 O
ECHO("%s;\n", call);
. ~, `, |. V% z' e }
) Z# u; F0 _7 h) }
5 k1 Z2 |$ t5 S' A8 z. Q return(irc);
/ E/ o4 k# I& H9 ~}[/mw_shl_code]
" t# |# y# a H0 p
# s' N) j1 V/ {) C |
|