Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1018014
  • 博文数量: 162
  • 博客积分: 3887
  • 博客等级: 中校
  • 技术积分: 1617
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 19:05
文章分类

全部博文(162)

文章存档

2015年(4)

2014年(7)

2013年(10)

2012年(16)

2011年(89)

2010年(36)

分类: C/C++

2013-01-16 23:18:34

把Linux下的程序移植到vc 6上,有不支持va_copy的报错为“undefined reference to va_copy”,查阅了许多资料,最终在国外找到了说明。

va_copy is c99 - anything before that, and its upto the compiler... as pointed out, gcc 2.95 dosnt have it,depends on your definition of absolutely ancient, but the gcc 2.95.4 that comes with freebsd 4.x does not support va_copy 

C99中对其进行了支持。但是如果不支持怎么办?

如下定义可以解决问题:

代码:


#ifndef va_copy
# ifdef __va_copy
# define va_copy(DEST,SRC) __va_copy((DEST),(SRC))
# else
# define va_copy(DEST, SRC) memcpy((&DEST), (&SRC), sizeof(va_list))
# endif
#endif  

这个是照抄别人的。

阅读(8064) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~