Re: [問題] 跨平台之 dll 制作

看板java作者 (真肉)時間12年前 (2013/09/12 03:17), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《PsMonkey (痞子軍團團長)》之銘言: : ※ 引述《EdisonX (卡卡獸)》之銘言: : : 作者: EdisonX (卡卡獸) 站內: Programming : : 標題: [問題] 跨平台之 dll 制作 : : 時間: Thu Sep 12 00:11:21 2013 : : 小弟最近手邊新來的專案有跨平台需求,目前沒完全決定要跨哪些平台, : : 有幾個問題想請教。 : : [1] Java 到底可以跨哪些平台? : : 一份具有 GUI 設計之 Project : : 就我所知 Java 是可以跨 Windows, Linux, 但我不知道同一份 code : : 能不能編完 class 後也讓 Andriod, ios 之 VM 也能正常執行 ? : : 如果要達成這需求,是否有公認 UI 移植性最高之 library 可用? : 首先,用 Java「語法」寫,未必就能在 JVM 上頭跑 : 經典例子是 GWT(compile 完之後是在 browser 上跑) : Andorid 是不是如此(或著說 .class 能不能直接拿到 Android 上頭用) : 我沒碰過不確定 : 用更簡單的說法,Java 的那句口號「Write once, run/debug any where」 : 這個「where」必須是有 JVM 的機器 : 如果有人替 ios 寫 ios 版的 JVM,那這個問題的答案就是「是」 : 當然你要 debug 多久才能正常 run 就...... : 至於... 你想要寫一個「application」 : 同時能應付 desktop,還有 ios / Android : 也許 Unity 辦得到(非常不負責任地不確定 XD) : 不然就是假 application 真 web,套 responsive design 之類的鬼 : 我到是覺得 business logic 能只要寫一份 : view 依照各個環境重新寫,能接的起來就阿彌陀佛了 : ==== : 有錯誤還請各方大德指正 Orz 有兩方面的事, dll是微軟os上用的 我知道原作者想表達的動態函式庫 dll這種東西是c++在windows上才用的, 標題總會讓我有點混亂 (題外話 c/c++在某些方面其實很死, 不同os沒辦法跨, 不過寫c/c++的人也不是省油的燈, 這點小事根本不是問題 一套code內拆了相當多的#ifdef #endif 再pre-compile時期就會做到不同 也就是compile的第一個階段建出object檔就必須決定好是那一份os 或是在那一種硬體環境下, 細節的設定其實很多, 有興趣可以自己去摸索, 簡單說起來就是, c/c++跨平台能是你要知道各平台如何實作並實作 而且必須編出那個環境的binary 才能使用 所以為原Po 最後一個問題的回應是確實就是如此, 就不同平台就都要搞一次, 我這種跨平台搞到都已經麻痺了 JAVA很爽, 沒這問題, 因為下面的事別人都幫你做好了 .class檔可以搬去不同的環境下是絕對可行 不過要在兩邊的jvm版本要是相近的才可以 java是很爽沒錯但是.class要反組譯的難度也相對下降 至於說要web application server的project能否直接搬進mobile上 還是取決在兩端的jvm差異性 就算你成功搬了過去, 也只是變成...用mobile當base的web applicatoin server 不幸的消息是android上的並不是jvm而應該是 Dalvik vm i/o跟基礎api也不是完全相同的一件事 (煙 -- 還在過美國時間, 就當我在胡言亂語好了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.87.52 ※ 編輯: realmeat 來自: 61.231.87.52 (09/12 03:43)

09/14 23:04, , 1F
.dll / .so 看來是避不開多重實作就是了,謝謝 :D
09/14 23:04, 1F
文章代碼(AID): #1ICC7dhY (java)
文章代碼(AID): #1ICC7dhY (java)