- 论坛徽章:
- 0
|
10可用积分
我写了一个pc文件,pro*c的参数都设置好了,然后发现pro*c不能处理stdarg.h里面定义的省略号"..."形式的参数。
源代码:
#include<stdarg.h>
#include<stdio.h>
EXEC SQL INCLUDE SQLCA;
EXEC SQL CONTEXT USE DEFAULT;
#define tr_vprintln(fmt, ...) trace_vprintf(__FILE__,__LINE__,(fmt),__VA_ARGS__,(char*)0);
void trace_vprintf(const char* fn, const int iLineNumber,const char* strFmt,...){
va_list ap;
va_start(ap,strFmt);
char buf[10240];
vsnprintf(buf,sizeof(buf),strFmt,ap);
trace_printf(fn,iLineNumber,buf);
va_end(ap);
}
iint sqlCheck(){
int code=sqlca.sqlcode;
tr_vprintln("SQLCODE=%d,sqlmsg=%s",code,sqlca.sqlerrm.sqlerrmc);
return code;
}
|
然后make遇到下面这样的错误,他说"..."是一种非法定义。请问这个make的错误我应该如何解决?
谢谢!10分敬上!
[ 本帖最后由 jeanlove 于 2008-9-21 17:58 编辑 ] |
最佳答案
查看完整内容
预编译的时候加上 parse=none 选项 例如: proc iname=*** parse=none如果是多线程,还需要加上thread=true选项
|