作者adrianshum (Alien)
看板C_and_CPP
標題Re: [問題] 想請問關於跨平台的c/c++ ide
時間Tue Feb 10 19:22:26 2009
※ 引述《WolfLord (呆呆小狼 N )》之銘言:
: ※ 引述《sssjjcc (恰恰)》之銘言:
: : 所以其實只要小心選擇用的library,就算用vs 2005也是沒差的嗎?
: 有差,因為VS2005是BASE 在.NET上,也許多東西會有那麼些詭異詭異的
單純以 C++ IDE 來說, 我倒沒聽過有什麼詭異.
就算有也只是其 compiler 的 flaw, 和 .Net 扯不上什麼關係
況且寫 C++ 的時候, 尤其是明知自己在開發的東西是要cross
platform 的, 根本不會有人笨得去用 .Net 或寫 managed/C++.
另外你說不用 .Net 的話VS200x 就廢了, 我覺得這是
一個笑話耶. 我不用它的那堆 framework 和相
關的 tools, 但 VC++ 還是有各類作為 C++ IDE
的功能呀, 難道 code completion, online help,
debugger etc 這些都廢了嗎?
: : 只是怕用vs 2005,也許不知不覺用了windows library 也不知道!
: : 我們要寫的東西不會用到gui,多半是網路方面的應用,其中也包括了
: : http server、socket、xml 、soap這類的東西!
: Socket建議你作個warp class這樣在更換系統時會比較好維護
直接找人家做得好的 library, 比起自己去 wrap 好得多吧.
: 至於http server要看你是自己寫SERVER還是呼叫HTTP SERVER。如果是自
: 己寫應該問題不大,如果是呼叫現有API或INCLUDE 現成的HTTP SERVE CLASS
: 就要注意是否具有可移植性。如果是直接呼叫現有的CLASS,依照VS2005
: 的結構應該是會跟.NET作整合,綑綁。那就很難拆離了。
重點一直都是避免用 platform specific 的東西,
可能的話就找人家已經 well-developed 的 cross platform
library 用.
: XML,SOAP的LIB最好不要使用VS內部的,尤其是建構上以.NET為基礎的
: SOAP會跟IIS綑綁得很死。建議使用跨平台的CLASS(OSF很多,可以自己
: 去挑一個用得習慣的。)
: 一般我會比較推薦使用BCB的原因是BCB-CLX API對應Kilix-CLX API會很
: 完整得幫你封裝不同平台下的API CLASS。你可以不必瞭解WINDOWS XML跟
: LINUX下LIBXML的差異,對於趕專案來講會有很大的幫助。
單是為了 cross platform, 也不是什麼特別需要
GUI, 我看不出有什麼需要 BCB/Kylix 的必要, 一來
價錢貴, 二來沒記錯的話, Kylix 已經壽終正寢很久了.
另外 Kylix 我記得很大程度是以 Delphi 的 OWL 作設
計基礎, 寫 C++ 的人未必用得順手.
要作 non-GUI cross platform 的 C++ development,
有更多更好用的 library 可以選擇.
even 你說 WINDOWS XML vs LINUX LIBXML, 根本要寫
cross-platform app 的時候, 就不會選這種 platform
specific 的 solution. 找個 Xerces-C++ 就能 Linux
Windows 和 other mainstream Unix 都能用了.
: 至於剛剛有人嗆我BCB能不能寫單晶片,BCB目前是有ARM9/XSCAL的PORT,
: 不過那又是另一個故事了...(跟WINDOWS類別不怎相容)
還有順帶一提的是, 閣下在另一篇說什麼連 printf 都
不能用.
做 cross-platform application development, 一向都
應該定好範圍, 比如大概哪些 OS, 多新的 Compiler etc
然後就著那範圍去用 common 的東西, 不 common 的東西
就避免, 或找 cross-platform lib ,或者自己動手寫相關
的 wrapper lib.
而不是說因為單晶片環境下不能用 printf, 所以用 printf
就不 portable.
不然, 難道明明我的目標 platform 不包括老舊的 compiler,
我也因為有些舊 compiler 不支援 template 就不寫
template 了嗎?
alien
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82
※ 編輯: adrianshum 來自: 202.155.236.82 (02/10 19:24)
推 WolfLord:我懶得跟你們吵,自己冷靜看清楚。沒錯就好。我不會再來 02/10 22:36
→ WolfLord:跟你們吵。well you win. 02/10 22:37
推 ledia:報告 樓上用大絕 XD 02/10 23:20
推 cackle:推這篇,如果觀念不清還要擺老,是不會進步的...... 02/10 23:51
推 yoco315:講錯就放大絕 金無聊.. 02/11 00:05
→ asoedarren:說錯認個錯就好.. 何必倚老賣老 只會讓人看不起.. 02/11 00:27
推 saxontai:就個人來說也不想跟狼兄吵,只是不忍看原發問者被誤導XD 02/11 01:08
推 kenzou:辯到最後就放大絕了。 冏。 02/11 01:31
→ Cloud:比老有用嗎?? 比砲誰打的多卡厲害~~煙 02/11 16:05
推 kvykn:扯到打砲就low掉了...真的 02/11 18:50
→ adrianshum:其實我沒有打算吵耶... 我不是只是在正常討論而己嘛?.. 02/11 19:08
推 dsin:WolfLord大 你說的觀念或許沒錯 但是對這個主題來說 根本就 02/12 14:35
→ dsin:離題了 換個明確一點的方法問 假如要寫一套cs要能夠unix win 02/12 14:38
→ dsin:mac都能執行 那可不可以用VS.net來康發 02/12 14:39
→ dsin:當然可以 但是你不能用win32api MFC DirectX 這些Lib 02/12 14:42
→ dsin:你必須去找openGL或其他跨平台的Lib來用 要不然就是你打算為 02/12 14:43
→ dsin:每一個平台都寫一次相似的code 那就沒達到跨平台的意義了 02/12 14:45