[問題] stdarg v.s. varargs

看板C_and_CPP作者 (榮耀 尊絕 不凡 台科)時間15年前 (2009/04/16 17:38), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/1
請問一下 小弟編譯 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)

04/16 20:04, , 1F
我會建議你改用新的 BBS 程式碼就好,當年因為 GCC 3.4 炸
04/16 20:04, 1F

04/16 20:04, , 2F
最慘的其中一類程式就是台灣的 BBS 程式,有趣的是當時某
04/16 20:04, 2F

04/16 20:04, , 3F
作者還反嗆誰叫你用這麼新的 GCC XD
04/16 20:04, 3F

04/16 20:07, , 4F
varargs.h 一定要丟掉就是了,而且標準規定參數列也不能只
04/16 20:07, 4F

04/16 20:07, , 5F
有不定參數而已,你至少要放一個固定參數,就我印象中這類
04/16 20:07, 5F

04/16 20:08, , 6F
BBS code 最愛直接 void foo(...) 然後進 GCC 3.4 全炸。
04/16 20:08, 6F

04/16 20:24, , 7F
XDDD 好像蠻有趣的 不過全部改好也要一些時間研究吧...
04/16 20:24, 7F
文章代碼(AID): #19vloKNp (C_and_CPP)