前幾天,趕在華爲開發者大會開幕前幾天,華爲已經在官方社區正式公佈了方舟編譯器的安裝詳情以及下載地址。
官方介紹稱,方舟編譯器是基於GCC開發的交叉編譯器套件,它包括了C、C++、Fortran的前端,也包括了這些語言的庫(如libstdc++、libgcc等)。HCC運行在X86 linux架構服務器上,生成的二進制運行在Aarch64架構服務器上。
來源:tsuki
鏈接:https://www.zhihu.com/questio...
引起爭議後,華爲手機產品線副總裁李小龍在微博上對“GCC套皮說”進行了闢謠,他表示:「這個網站不是華爲消費者BG維護的網站,此編譯器好像是服務器部門用的,和我們之前和P30一起發佈的方舟編譯器沒有任何關係。」
鏈接:https://www.zhihu.com/questio...
華爲副總裁在微博說這是另一個 BG 的同名產品。那我們繼續等待幾天後真正的方舟編譯器吧。
原答案:
下載頁的開始稱方舟編譯器叫 HCC:
我們從標註着源碼下載的鏈接這裏,下載傳說中的方舟編譯器:
下載下來的 tar 包卻叫 gcc-ark:
解壓縮一看,沒找到任何名稱中含 ark/fangzhou/hcc/huawei 等單詞的文件,卻和我剛從 Arch Linux 倉庫 拉下來的 gcc 交叉工具鏈蜜汁相似:
https://www.archlinux.org/pac...
這裏我們先忽視從源碼下載鏈接裏下載到了二進制文件這個問題。
繼續運行,看起來也是個 gcc。此外貼心的 GPLv3 協議摘要,提醒着華爲趕緊把它開源:
嘗試編譯個 c 代碼,目標架構的確是 elf64-littleaarch64:
繼續搜索一下編譯器二進制文件裏的字符串,找不到任何相關的獨立單詞:
不過倒是可以看到一些調試信息:
到此爲止,最好的情況也只可能是華爲在 gcc 上加了一些 patch,增加了一些優化 pass 等,重新打包並宣稱這是其「自主研發」的新一代編譯器。先不提這樣的行爲是否有分裂社區的嫌疑。看看其當時的宣傳:
說好的自主研發的多語言聯合優化的 Android 上的 Java 編譯器呢?
不過有人說華爲開發者大會還沒有召開,現在放出的這個還不是完全版。那我們就先等等,期待一下幾天後放出的完全版。
希望我被打臉。畢竟我剛爲華爲貢獻了一臺 Matebook 14 的銷量呢。
閱讀更多
Java泛型--BeanUtils.copyProperties引發的血案
相信自己,沒有做不到的,只有想不到的
在這裏獲得的不僅僅是技術!