※ 引述《sniffer@kkcity.com.tw ()》之銘言:
: ※ 引述《apia.bbs@bbs.ee.nthu.edu.tw (Orz)》之銘言:
: directx 最好是還相容啦
: 用 directx 連不同 pc 都有相容問題
前文討論的是 Win32 API,並不是在討論 DirectX API
Linux 上 gtk+ 1.2 和 gtk+ 2.0 也是大改, Qt 3 到 Qt4 也是大改
開發人員為此也是一直相當頭痛
: 對寫 application 的人, 用那一種 dist 差別在哪?
: 如果帶 source code, 除非使用者沒裝你用的 library, 那會有不能 compile 的
: 沒 source code, static link 的 binary 更是不太可能出問題
就是碰到過其他 distro 包裝的 lib 有問題的,真的是有出過問題
該 distro 不是別人,就是 Fedora Core
要出問題也不難,您可以試試看開發 mozilla XPCOM 真的是大問題
光 makefile 就寫不出來了,編譯好了還真的不知道怎麼讓它 run 起來
mozilla Taiwan 提供的 Linux build 也曾發生過在 Mandrake 很正常
在 debian 不能執行的問題。 類似的例子隨便列舉還有很多
當然,硬要弄還是都有解決方式,大不了都自己重編,問題就是很不方便。
: linux 的設定檔相當於 winxx 的 registry, winxx registry 還不是一天到晚換
: 不同的是 linux 的設定檔擺那裡自己可以改,
: 同 distribution 是一致的, 也有文件可查
: winxx 要把 registry 叫啥名你管不了
其實很多都有文件,只是不容易找到,主要的部份並沒有變動過
: 寫的人用不標準的功能才會
FreeBSD 和 Linux 就有些檔案位置不同了
同一 function 所在的 lib 也有不同,thread safety 也有所不同
Solaris 在這部份文件比較清楚,而不同系統... socket 相關的東西很麻煩
總之很多東西還是都要處理,並不是有 autotool 就可以輕鬆愉快
: VC->VC.net 改變才大, VB->VB.net 根本是不同語言
非 .net 的部份沒什麼變化,只有 IDE 變難用,.net 不是改變,是新增功能
: 在 VC 下用不標準的功能, 不同版 VC 比 gcc 變的更多
這點你說的沒錯,完全同意
: 我用的 15 年 motif application 連 autotools 都沒有照樣跨所有 unix
: X window 是連 remote 端不同平臺都跨得了
: winxx 卻從 win16 變 win32, win32 還分 nt/9x/2k/xp, gdi/directx.....
: msdn 的 example 都不一定正常, 還有 window message 順序也不太一樣
Win32 下仍然可以用 Win16,Windows 的向下相容做的不差
會有問題的是 API 有 unicode 版本跟非 unicode
而主要會有問題的是 Windows NT 和 9x 的 API 行為不一致,不同版 Common control
也有很大的問題。 MSDN 有些 example 確實是亂寫的,甚至有看過用法錯誤的
不過.... gtk+ 連 doc 到現在都不齊全....相形之下 MSDN 很完整
: 你用過 SDK 就會知道了, 重用舊 code 會非常的不保險
Win32 SDK 我還滿常用的,也見識到不少麻煩處,確實是很惱人沒錯
: like what?
: windows 程式可以拿到 FreeBSD 去編譯?
Win32 API 當然不行,但用其他 lib 包裝確實是可以,也不難
: 中 M$ 毒才會在 Linux 下用不標準 api, library
你可以去看一下,不同版本的很多函數,雖然都是 POSIX conformation
我想你看 manual 時沒有仔細注意到 Bugs 那欄,不同版本有不同 bug
而 thread unsafe 的函數很多並沒有明確標示,對 debug 是個麻煩퀊: Linux kernel 都是一樣, 程式會怎麼個不同運作法????
當然會,你的程式並不是有 kernel 就會跑的,眾多 lib 中只要一個有所不同
就有可能運作出來會不同,當然那都可以克服,但是浪費時間克服這些問題
會降低效率,也是我所謂不該神化 Linux 下開發的方便性。
: 本公司都是在 pc linux 下寫好 application 再 cross compile 到 embedded 用
: > 你是我看過唯一說真話的人,
: > 這年頭大家都只站在自己立場說話,非我類就批評。
: > 我的看法是: .NET 架構相當不錯,也簡潔,Java 則因為有過去的緣故,多些束縛。
: > Windows 若能順利的 .NET 化,並且跨平台方面也著力下去,則非常有機會
: net 化, 先去學一下作業系統吧
: net 是 framework
: > 成為新的共通平台共主。
: 不能在不同 CPU 下用的平台都不叫共通平台
: 例如說很大很複雜的 M$ 平台, 沒有多少家 CPU 能跑
: porting 耗時耗力, driver 又臭又長
: Linux porting 到一個新 CPU 指另集架構都不用幾個月
: 在一般的 arm/mips/ppc 更是只有 driver 要寫
: 殘廢 windowz 的 wince 卻讓 M$ 人力不足放棄一堆 CPU
: 完整的 windowz 只有剩 x86 一個平臺
: > 以 C# 來說,開發起來非常順手,Visual Studio.NET 很好用,而且免費。
: > 執行速度非常快,有時候跟 C/C++ 不相上下,這應該是最佳化以及 IL 做得好之故。
: > 另外,Linux/Unix 上的 Mono 計畫也令人激賞,先不論 Form 的部份,
: > mono 相容性非常高,MS Windows 上的 C# 程式可以直接用 mono 編譯與執行,
: > 不過,執行速度大約為 MS C# compiler 編譯出來的 1/2 到 2/3。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.59.3