精華區beta Programming 關於我們 聯絡資訊
※ 引述《HZYSoft.bbs@ptt.cc (PCMan 2004)》之銘言: > 各個 distro 設計方式和維護管理大異其趣,gcc 版本一天到晚在變 > gcc3 升級 gcc4 我相信很多程式都因此不能用了,必須要做不少修改 這不能歸罪於 gcc 版本變動, 而是你很剛好的碰到了 C 語言標準 10 年一次的大幅修改, 而且事實上從 1999 年開始 gcc 還是「漸進式」的拿掉跟 C 語言新標準不合的支援, 一開始先用 warning message 警告, 過了很久很久才把回溯相容拿掉。 我倒不覺得 10 年的時間叫做一天到晚, 一個 1989 年的 code 能用到 1999 年已經夠久了, 雖然實際的期間可能是 1991 到 2001,不必計較這個。 > 而一個在 debian 下很好的程式,在 Fedora 卻不能運作,是很正常的事情 > 設定檔擺放位置在各系統上也不同,各系統上的 libc 都是不同版本 > 彼此間還有不相容的地方,光是維護這些你就昏頭了 試試看跑個 ldconfig 之類的。 > 一個 Linux 程式要拿到 FreeBSD 去編譯就要改老半天了, 雖然 FreeBSD 的 linux emulator 有少部分程式沒辦法跑, 但是大部分的程式你丟過去並不需要重新編譯, FreeBSD 能直接 run Linux 的程式已經行之有年了。 > 程式裡充滿 #ifdef > 而同一個函數,有些系統的符合 POSIX,有些不符合,你根本不能保證到了其他 > 不同版本的 Linux 上你的程式會怎麼運作。 總是有地方需要 patch > 實際開發過 Linux 和 Windows 程式,坦白講,真的不覺得有比較省事。 .................這個 練習搭配 autoconf 來寫跨平台程式吧, 只要辛苦一次你就會發現世界很美好, 雖然一堆 #ifdef 少不了。 -- Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net School: National Chung Cheng University Department: Computer Science and Information Engineering Researching: Porting GCC and Implementing VLIW instruction scheduler in GCC Homepage: https://it.muds.net/~uranus -- ╔═══╗ ┼────────────────────────╮ 狂狷 Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮ 年少 ┼╮ < IP:140.119.164.16 > ╰─╮ ╚╦═╦╝ From:218-171-140-241.dynamic.hinet.net ─╨─╨─ KGBBS 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩