Re: [問題] 跨平台之 dll 制作
※ 引述《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
09/14 23:04, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):