回覆列表
-
1 # 熙爸愛釣魚
-
2 # zzhuyt
現在手機基本都是arm架構,有別的架構嗎?你還要跨平臺幹嘛?為啥用java 主要是簡單 容易開發app,開發者又多,所以在手機領悟,java的跨平臺不是主要優勢,開發速度快,開發人員多,容易形成生態才是關鍵!
現在手機基本都是arm架構,有別的架構嗎?你還要跨平臺幹嘛?為啥用java 主要是簡單 容易開發app,開發者又多,所以在手機領悟,java的跨平臺不是主要優勢,開發速度快,開發人員多,容易形成生態才是關鍵!
只是吐槽一下,華為這段時間的宣傳太噁心了點。
程式編譯大概有兩種方式:
1,原始碼 -> 編譯(彙編指令)->連結(機器碼),這是許多高階語言的標準編譯方式,如 c、c++,編譯最終輸出就是機器碼,效能最佳,但依賴於編譯時和執行時環境,如linux下編譯的程式不能在windows上執行,cpu架構不相容的不能執行。
2,原始碼 -> 中間程式碼,這是一些跨平臺語言的編譯方式,如java、c#等,執行時需要相應平臺的執行時,如java虛擬機器。優點是編譯時和執行時和平臺無關。缺點是執行時存在中間程式碼到機器碼的翻譯,會損失一些效能。
例如用java開發程式,原本編譯結果是位元組碼,華為搞的編譯器可以直接輸出機器碼。
但是從另一個角度考慮,如果程式對效能敏感,使用c或c++來開發是最直接的,而使用跨平臺語言開發優先考慮的是業務邏輯和各種框架和開源元件的支援,如果因為更換編譯器導致原來的部件不支援或者需要重複造輪子,那就有點得不償失了。