找回密碼
 立即注冊

姍姍來遲的 JIT編譯支持終上線 iOS 14.2,仿真應用可具有更佳性能

2020-11-7 20:10 來源: IT之家 IT資訊

科技快報11月7日消息 據外媒 9to5mac 報道,iOS 14.2 現已引入 JIT編譯支持。

什么是 JIT?

正如字面意思,JIT—— just in time,即時編譯。如果一個程序在它運行的時候創建并且運行了全新的代碼,而非那些最初作為這個程序的一部分保存在硬盤上的固有的代碼,即為 JIT。

說人話:JIT可以在固有代碼的基礎上生成新的代碼,并自己運行新生成的代碼。

有什么意義?

雖然蘋果沒有特意提到,但通過外媒 9to5mac 今日報道,可確認 iOS 14.2 中已引入 JIT編譯支持特性。

在此之前,網傳最廣的說法是,由于審查等敏感問題,蘋果不提供修改內存頁面的訪問權限的 API,也禁止對 POSIX 函數 mprotect()的調用,所以也無法實現 JIT。簡單來說,IOS 封禁了內存(或者堆)的可執行權限,從而從根本上干掉了 JIT的存在。

雖然蘋果一直不支持 JIT,但一些開發人員已實現通過 hack 途徑達成 JIT的特性,但這會影響 App 運行的效率并帶來玄學 bug。此外,這種漏洞在 iOS 14 中已被封殺。

而現在蘋果在 iOS 14.2 中默默推出 JIT的原因是?

不知道,但不可否認的是,這將為仿真應用(非官方 App)在 iPhone 和 iPad 上全速運行提供了可能。

正文

外媒就此采訪了開發者 Testut,她表示蘋果實際上已在 Beta 版本中加入了 JIT支持,且保留到正式版本中,雖然一句話沒有提,但這大概率是蘋果官方表態而非 bug。

借助 iOS 14.2 上的 JIT編譯支持,仿真應用現在可以在 iOS 中全速運行,而不會受到攻擊和其他損失。

“例如,JITDelta 可以模擬更強大的系統,比如?PS2,GameCube 和 Wii。如果沒有 JIT,開發者們將需要再等幾年,才能使硬件具備此功能。起初我對此表示懷疑,但現在更傾向于認為這是蘋果有意的更改!

但是,這并不意味著用戶會在 App Store 中看到仿真應用,用戶甚至看不到任何使用 JIT的應用程序。Testut 表示,當前的實現方法僅適用于側面加載的應用,這些應用通常是通過 Xcode 和其他開發人員工具而非 App Store 安裝的。換句話說,這是供專門的開發人員調試 App 所使用的功能。

“我懷疑將 JIT限制為僅側加載的應用是其背后的意圖(而且更可能與使用 Xcode 進行調試時應用運行未簽名代碼的需求有關),但是我很想知道這種限制是否會長期存在!

科技快報提醒,以下是AltStore的講解和演示視頻:

  免責聲明:本網內容轉載自其他媒體,目的在于傳遞更多信息,并不代表本網贊同其觀點。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,并請自行核實相關內容。本站不承擔此類作品侵權行為的直接責任及連帶責任。如若本網有任何內容侵犯您的權益,請及時聯系我們,本站將會在24小時內處理完畢。

  另,市場有風險,選擇需謹慎!此文僅供參考,不作買賣依據,投資者若據此操作,風險自擔。

  投稿郵箱:[email protected]。詳情訪問科技快報網:http://www.74431289.buzz

編輯:科技快報網
微信公眾號
意見反饋 科技快報網微信公眾號
扑克麻将绝技 申城斗地主官网 福建36选7玩法 安卓捕鱼达人单机版 麻将推倒胡规则 德州麻将玩十元的一把是多少钱 美国一分彩开奖结果 平码二中二精准三中三 吉林11选5助手 2011102排列5预测 516金蟾捕鱼论坛 河北家乡棋牌 上海晓游棋牌 黄金城棋牌游戏平台 一切都在选择跑狗网论坛 甘肃快三一定牛走势图 管家婆正版期期准彩图