作者jai166 (荣耀 尊绝 不凡 台科)
看板C_and_CPP
标题[问题] stdarg v.s. varargs
时间Thu Apr 16 17:38:27 2009
请问一下 小弟编译 BBS 程式码时
这程式是旧版的 用了 varargs.h
但 gcc3.4 叫我改用 stdarg.h
请问这两个的差别是?
还有 看了下程式码 我发现程式的写法是这样子
int func(va_list)
va_dcl
{ ... }
根据
http://gcc.gnu.org/ml/gcc-bugs/1998-11/msg00245.html
他说这是会展开某些程式码
我记得在 TCPL 说不定数目传值应该是 int argc, char* argv[],...
不过手边没书 没办法确定
想问一下这方面有没有甚麽可以参考的资料
另外 编译时也出现了错误讯息
Old BSD tty API used and depends on COMPAT_43TTY.
Use termios.h instead
请问有没有甚麽关於tty资料可以参考的呢
我对这方面的程式写作还不是很清楚
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.143.30.45
※ 编辑: jai166 来自: 220.143.30.45 (04/16 17:43)
1F:→ tinlans:我会建议你改用新的 BBS 程式码就好,当年因为 GCC 3.4 炸 04/16 20:04
2F:→ tinlans:最惨的其中一类程式就是台湾的 BBS 程式,有趣的是当时某 04/16 20:04
3F:→ tinlans:作者还反呛谁叫你用这麽新的 GCC XD 04/16 20:04
4F:→ tinlans:varargs.h 一定要丢掉就是了,而且标准规定参数列也不能只 04/16 20:07
5F:→ tinlans:有不定参数而已,你至少要放一个固定参数,就我印象中这类 04/16 20:07
6F:→ tinlans:BBS code 最爱直接 void foo(...) 然後进 GCC 3.4 全炸。 04/16 20:08
7F:→ jai166:XDDD 好像蛮有趣的 不过全部改好也要一些时间研究吧... 04/16 20:24