Re: [問題] 請問編譯MudOS

看板mud (網路地下城/文字遊戲)作者時間20年前 (2005/04/06 19:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《samruqo.bbs@ptt.cc (sam)》之銘言: > ※ 引述《tinlans.bbs@bbs.csie.nctu.edu.tw (汀)》之銘言: > : 可以說是你的 gcc 版本太新,而 MudOS 又年久失修無人維護的關係。 > : 你需要具備一點 C 語言知識,才能完全正確無誤的解決這個問題, > : 簡單說,你可以將 MudOS 原始碼中你認為會編譯到的地方, > : 將 <varargs.h> 改成 <stdarg.h> 即可。 > : varargs.h 這個 header file 已經被 ISO C 遺棄很久了。 > 請問一下喔 > 這樣的話我是只要把所有的.c file 裡有 include 到 <varargs.h> > 直接改成 <stdarg.h> 就好了嗎 其實是要某些 #ifdef 的條件下才需要改成 <stdarg.h>, 直接全改也是可以,但是拿到其它環境不見得能編得過。 > 還是說裡面的code 寫法也要改呢? > 也就是按照varargs.h的語意 改寫成stdarg.h 的格式. 是這樣嗎? 有一些 macro 的用法改變了, 如果碰到 error 要自己有辦法看懂而且更正... 另外新的 ISO C 不准 ... 這個省略符號出現在第一個參數, 前面至少要有一個普通參數,要是碰到的話也要會更正。 void foo(...); // 這樣不行 void foo(char *, ...); // 要自己知道第一個參數的 type 把它抽出來... <varargs.h> 的問題也發生在許多台灣老舊的 bbs source code 裡。 -- ※ Origin: 交大資工鳳凰城資訊站 <bbs.csie.nctu.edu.tw> ◆ From: 218-171-140-189.dynamic.hinet.net
文章代碼(AID): #12Ky5l00 (mud)
文章代碼(AID): #12Ky5l00 (mud)